Skip to content

Instantly share code, notes, and snippets.

@VictorKoenders
Created July 28, 2016 15:18
Show Gist options
  • Save VictorKoenders/f8237f138c627cd1646e3e6d44c48f0e to your computer and use it in GitHub Desktop.
Save VictorKoenders/f8237f138c627cd1646e3e6d44c48f0e to your computer and use it in GitHub Desktop.
use network;
macro_rules! network_test {
($name:ident, $initial:expr, $binary:expr) => {
#[test]
fn $name () {
let original = $initial;
let binary = original.to_binary();
let original_from_binary = network::Network::from_binary(&binary).expect("able to decode binary");
assert_eq!(binary, $binary);
assert_eq!(original, original_from_binary);
}
}
}
network_test!(test_network_ping, network::Network::Ping, [1u8]);
network_test!(test_network_shutdown, network::Network::Shutdown, [2u8]);
network_test!(test_network_login, network::Network::Login { username: "Hello".to_string(), password: "world!".to_string() }, [3, 5, 0, 0, 0, 72, 101, 108, 108, 111, 6, 0, 0, 0, 119, 111, 114, 108, 100, 33]);
network_test!(test_network_identify, network::Network::Identify { pid: 1 }, [4u8, 1, 0, 0, 0]);
network_test!(test_network_move, network::Network::Move { pid: 123, x: 2.34, y: 3.45, z: 4.56}, [5, 123, 0, 0, 0, 143, 194, 21, 64, 205, 204, 92, 64, 133, 235, 145, 64]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment