|  | #![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]); | 
|  | } |