| #![cfg(feature = "serde-1")] |
| |
| #[macro_use] |
| extern crate indexmap; |
| extern crate serde_test; |
| extern crate fnv; |
| |
| use serde_test::{Token, assert_tokens}; |
| |
| #[test] |
| fn test_serde() { |
| let map = indexmap! { 1 => 2, 3 => 4 }; |
| assert_tokens(&map, |
| &[Token::Map { len: Some(2) }, |
| Token::I32(1), |
| Token::I32(2), |
| Token::I32(3), |
| Token::I32(4), |
| Token::MapEnd]); |
| } |
| |
| #[test] |
| fn test_serde_set() { |
| let set = indexset! { 1, 2, 3, 4 }; |
| assert_tokens(&set, |
| &[Token::Seq { len: Some(4) }, |
| Token::I32(1), |
| Token::I32(2), |
| Token::I32(3), |
| Token::I32(4), |
| Token::SeqEnd]); |
| } |
| |
| #[test] |
| fn test_serde_fnv_hasher() { |
| let mut map: ::indexmap::IndexMap<i32, i32, ::fnv::FnvBuildHasher> = Default::default(); |
| map.insert(1, 2); |
| map.insert(3, 4); |
| assert_tokens(&map, |
| &[Token::Map { len: Some(2) }, |
| Token::I32(1), |
| Token::I32(2), |
| Token::I32(3), |
| Token::I32(4), |
| Token::MapEnd]); |
| } |
| |
| #[test] |
| fn test_serde_map_fnv_hasher() { |
| let mut set: ::indexmap::IndexSet<i32, ::fnv::FnvBuildHasher> = Default::default(); |
| set.extend(1..5); |
| assert_tokens(&set, |
| &[Token::Seq { len: Some(4) }, |
| Token::I32(1), |
| Token::I32(2), |
| Token::I32(3), |
| Token::I32(4), |
| Token::SeqEnd]); |
| } |