File: serde.rs

package info (click to toggle)
rust-ordermap 0.4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 276 kB
  • sloc: makefile: 2
file content (59 lines) | stat: -rw-r--r-- 1,627 bytes parent folder | download | duplicates (6)
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
#![cfg(feature = "serde-1")]

#[macro_use]
extern crate ordermap;
extern crate serde_test;
extern crate fnv;

use serde_test::{Token, assert_tokens};

#[test]
fn test_serde() {
    let map = ordermap! { 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 = orderset! { 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: ::ordermap::OrderMap<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: ::ordermap::OrderSet<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]);
}