1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#![cfg(feature = "serde_impl")]
extern crate linear_map;
use linear_map::LinearMap;
extern crate serde_test;
use serde_test::{Token, assert_tokens};
#[test]
fn test_ser_de_empty() {
let map = LinearMap::<char, u32>::new();
assert_tokens(&map, &[
Token::Map { len: Some(0) },
Token::MapEnd,
]);
}
#[test]
fn test_ser_de() {
let mut map = LinearMap::new();
map.insert('b', 20);
map.insert('a', 10);
map.insert('c', 30);
assert_tokens(&map, &[
Token::Map {len: Some(3) },
Token::Char('b'),
Token::I32(20),
Token::Char('a'),
Token::I32(10),
Token::Char('c'),
Token::I32(30),
Token::MapEnd,
]);
}
mod set {
use serde_test::{Token, assert_tokens};
use linear_map::set::LinearSet;
#[test]
fn test_ser_de_empty() {
let set = LinearSet::<char>::new();
assert_tokens(&set, &[
Token::Seq { len: Some(0) },
Token::SeqEnd,
]);
}
#[test]
fn test_ser_de() {
let mut set = LinearSet::new();
set.insert('b');
set.insert('a');
set.insert('c');
assert_tokens(&set, &[
Token::Seq { len: Some(3) },
Token::Char('b'),
Token::Char('a'),
Token::Char('c'),
Token::SeqEnd,
]);
}
}
|