rust/hedgewars-network-protocol/tests/test.rs
changeset 15830 ea459da15b30
parent 15829 d5e6c8c92d87
child 15831 7d0f747afcb8
--- a/rust/hedgewars-network-protocol/tests/test.rs	Fri Jan 28 02:33:44 2022 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-use proptest::{
-    arbitrary::any,
-    proptest,
-    strategy::{BoxedStrategy, Just, Strategy},
-};
-
-use hedgewars_network_protocol::messages::{HwProtocolMessage, HwServerMessage};
-use hedgewars_network_protocol::parser::{message, server_message};
-use hedgewars_network_protocol::types::{GameCfg, ServerVar, TeamInfo, VoteType};
-
-use hedgewars_network_protocol::types::testing::*;
-use hedgewars_network_protocol::{proto_msg_case, proto_msg_match};
-
-pub fn gen_proto_msg() -> BoxedStrategy<HwProtocolMessage> where {
-    use hedgewars_network_protocol::messages::HwProtocolMessage::*;
-
-    let res = (0..=58).no_shrink().prop_flat_map(|i| {
-        proto_msg_match!(i, def = Ping,
-            0 => Ping(),
-            1 => Pong(),
-            2 => Quit(Option<Ascii>),
-            4 => Global(Ascii),
-            5 => Watch(u32),
-            6 => ToggleServerRegisteredOnly(),
-            7 => SuperPower(),
-            8 => Info(Ascii),
-            9 => Nick(Ascii),
-            10 => Proto(u16),
-            11 => Password(Ascii, Ascii),
-            12 => Checker(u16, Ascii, Ascii),
-            13 => List(),
-            14 => Chat(Ascii),
-            15 => CreateRoom(Ascii, Option<Ascii>),
-            16 => JoinRoom(Ascii, Option<Ascii>),
-            17 => Follow(Ascii),
-            18 => Rnd(Vec<Ascii>),
-            19 => Kick(Ascii),
-            20 => Ban(Ascii, Ascii, u32),
-            21 => BanIp(Ascii, Ascii, u32),
-            22 => BanNick(Ascii, Ascii, u32),
-            23 => BanList(),
-            24 => Unban(Ascii),
-            25 => SetServerVar(ServerVar),
-            26 => GetServerVar(),
-            27 => RestartServer(),
-            28 => Stats(),
-            29 => Part(Option<Ascii>),
-            30 => Cfg(GameCfg),
-            31 => AddTeam(Box<TeamInfo>),
-            32 => RemoveTeam(Ascii),
-            33 => SetHedgehogsNumber(Ascii, u8),
-            34 => SetTeamColor(Ascii, u8),
-            35 => ToggleReady(),
-            36 => StartGame(),
-            37 => EngineMessage(Ascii),
-            38 => RoundFinished(),
-            39 => ToggleRestrictJoin(),
-            40 => ToggleRestrictTeams(),
-            41 => ToggleRegisteredOnly(),
-            42 => RoomName(Ascii),
-            43 => Delegate(Ascii),
-            44 => TeamChat(Ascii),
-            45 => MaxTeams(u8),
-            46 => Fix(),
-            47 => Unfix(),
-            48 => Greeting(Option<Ascii>),
-            49 => CallVote(Option<VoteType>),
-            50 => Vote(bool),
-            51 => ForceVote(bool),
-            52 => Save(Ascii, Ascii),
-            53 => Delete(Ascii),
-            54 => SaveRoom(Ascii),
-            55 => LoadRoom(Ascii),
-            56 => CheckerReady(),
-            57 => CheckedOk(Vec<Ascii>),
-            58 => CheckedFail(Ascii)
-        )
-    });
-    res.boxed()
-}
-
-pub fn gen_server_msg() -> BoxedStrategy<HwServerMessage> where {
-    use hedgewars_network_protocol::messages::HwServerMessage::*;
-
-    let res = (0..=38).no_shrink().prop_flat_map(|i| {
-        proto_msg_match!(i, def = Ping,
-                    0 => Connected(Ascii, u32),
-                    1 => Redirect(u16),
-                    2 => Ping(),
-                    3 => Pong(),
-                    4 => Bye(Ascii),
-                    5 => Nick(Ascii),
-                    6 => Proto(u16),
-                    7 => AskPassword(Ascii),
-                    8 => ServerAuth(Ascii),
-                    9 => LogonPassed(),
-                    10 => LobbyLeft(Ascii, Ascii),
-                    11 => LobbyJoined(Vec<Ascii>),
-        //            12 => ChatMsg { Ascii, Ascii },
-                    13 => ClientFlags(Ascii, Vec<Ascii>),
-                    14 => Rooms(Vec<Ascii>),
-                    15 => RoomAdd(Vec<Ascii>),
-                    16=> RoomJoined(Vec<Ascii>),
-                    17 => RoomLeft(Ascii, Ascii),
-                    18 => RoomRemove(Ascii),
-                    19 => RoomUpdated(Ascii, Vec<Ascii>),
-                    20 => Joining(Ascii),
-                    21 => TeamAdd(Vec<Ascii>),
-                    22 => TeamRemove(Ascii),
-                    23 => TeamAccepted(Ascii),
-                    24 => TeamColor(Ascii, u8),
-                    25 => HedgehogsNumber(Ascii, u8),
-                    26 => ConfigEntry(Ascii, Vec<Ascii>),
-                    27 => Kicked(),
-                    28 => RunGame(),
-                    29 => ForwardEngineMessage(Vec<Ascii>),
-                    30 => RoundFinished(),
-                    31 => ReplayStart(),
-                    32 => Info(Vec<Ascii>),
-                    33 => ServerMessage(Ascii),
-                    34 => ServerVars(Vec<Ascii>),
-                    35 => Notice(Ascii),
-                    36 => Warning(Ascii),
-                    37 => Error(Ascii),
-                    38 => Replay(Vec<Ascii>)
-                )
-    });
-    res.boxed()
-}
-
-proptest! {
-    #[test]
-    fn is_parser_composition_idempotent(ref msg in gen_proto_msg()) {
-        println!("!! Msg: {:?}, Bytes: {:?} !!", msg, msg.to_raw_protocol().as_bytes());
-        assert_eq!(message(msg.to_raw_protocol().as_bytes()), Ok((&b""[..], msg.clone())))
-    }
-
-    #[test]
-    fn is_server_message_parser_composition_idempotent(ref msg in gen_server_msg()) {
-        println!("!! Msg: {:?}, Bytes: {:?} !!", msg, msg.to_raw_protocol().as_bytes());
-        assert_eq!(server_message(msg.to_raw_protocol().as_bytes()), Ok((&b""[..], msg.clone())))
-    }
-}