]> git.proxmox.com Git - rustc.git/blob - vendor/ordermap/tests/serde.rs
New upstream version 1.45.0+dfsg1
[rustc.git] / vendor / ordermap / tests / serde.rs
1 #![cfg(feature = "serde-1")]
2
3 #[macro_use]
4 extern crate ordermap;
5 extern crate serde_test;
6 extern crate fnv;
7
8 use serde_test::{Token, assert_tokens};
9
10 #[test]
11 fn test_serde() {
12 let map = ordermap! { 1 => 2, 3 => 4 };
13 assert_tokens(&map,
14 &[Token::Map { len: Some(2) },
15 Token::I32(1),
16 Token::I32(2),
17 Token::I32(3),
18 Token::I32(4),
19 Token::MapEnd]);
20 }
21
22 #[test]
23 fn test_serde_set() {
24 let set = orderset! { 1, 2, 3, 4 };
25 assert_tokens(&set,
26 &[Token::Seq { len: Some(4) },
27 Token::I32(1),
28 Token::I32(2),
29 Token::I32(3),
30 Token::I32(4),
31 Token::SeqEnd]);
32 }
33
34 #[test]
35 fn test_serde_fnv_hasher() {
36 let mut map: ::ordermap::OrderMap<i32, i32, ::fnv::FnvBuildHasher> = Default::default();
37 map.insert(1, 2);
38 map.insert(3, 4);
39 assert_tokens(&map,
40 &[Token::Map { len: Some(2) },
41 Token::I32(1),
42 Token::I32(2),
43 Token::I32(3),
44 Token::I32(4),
45 Token::MapEnd]);
46 }
47
48 #[test]
49 fn test_serde_map_fnv_hasher() {
50 let mut set: ::ordermap::OrderSet<i32, ::fnv::FnvBuildHasher> = Default::default();
51 set.extend(1..5);
52 assert_tokens(&set,
53 &[Token::Seq { len: Some(4) },
54 Token::I32(1),
55 Token::I32(2),
56 Token::I32(3),
57 Token::I32(4),
58 Token::SeqEnd]);
59 }