Test serde implementation.
This commit is contained in:
@@ -6,6 +6,7 @@ authors = ["logaritmisk <anders.e.olsson@gmail.com>"]
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
unreachable = "1.0"
|
unreachable = "1.0"
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
|
serde_test = "1.0"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
lto = true
|
lto = true
|
||||||
|
|||||||
23
src/lib.rs
23
src/lib.rs
@@ -1,4 +1,5 @@
|
|||||||
extern crate serde;
|
extern crate serde;
|
||||||
|
extern crate serde_test;
|
||||||
extern crate unreachable;
|
extern crate unreachable;
|
||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
@@ -9,6 +10,7 @@ use std::collections::HashMap;
|
|||||||
|
|
||||||
use serde::ser::{self, Serialize};
|
use serde::ser::{self, Serialize};
|
||||||
use serde::de::{self, Deserialize, SeqAccess, Visitor};
|
use serde::de::{self, Deserialize, SeqAccess, Visitor};
|
||||||
|
use serde_test::{assert_tokens, Token};
|
||||||
|
|
||||||
mod hasher;
|
mod hasher;
|
||||||
|
|
||||||
@@ -26,7 +28,7 @@ fn block_bit(x: u64, d: u64) -> (u64, u64) {
|
|||||||
(x / d, x % d)
|
(x / d, x % d)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(PartialEq, Debug)]
|
||||||
pub struct BitSet {
|
pub struct BitSet {
|
||||||
blocks: Storage,
|
blocks: Storage,
|
||||||
nbits: usize,
|
nbits: usize,
|
||||||
@@ -507,4 +509,23 @@ mod tests {
|
|||||||
assert_eq!(None, iter.next());
|
assert_eq!(None, iter.next());
|
||||||
assert_eq!(None, iter.next());
|
assert_eq!(None, iter.next());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_ser_de() {
|
||||||
|
let mut set = BitSet::new();
|
||||||
|
set.insert(20);
|
||||||
|
set.insert(10);
|
||||||
|
set.insert(30);
|
||||||
|
|
||||||
|
assert_tokens(
|
||||||
|
&set,
|
||||||
|
&[
|
||||||
|
Token::Seq { len: None },
|
||||||
|
Token::U64(10),
|
||||||
|
Token::U64(20),
|
||||||
|
Token::U64(30),
|
||||||
|
Token::SeqEnd,
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user