| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | use lox::dup_filter;use lox::dup_filter::SeenType::{Fresh, Seen};use lox::BridgeDb;use curve25519_dalek::scalar::Scalar;#[test]fn test_bridgedb() {    let mut bdb = BridgeDb::new();    for i in &[1u32, 5, 7, 12, 19, 20, 22] {        bdb.insert_openinv(*i);    }    let inv = bdb.invite();    println!("{:?}", inv);    let res = BridgeDb::verify(inv, bdb.pubkey);    println!("{:?}", res);}#[test]fn test_dup_filter() {    let mut df1: dup_filter::DupFilter<Scalar> = Default::default();    let mut df2: dup_filter::DupFilter<Scalar> = Default::default();    let mut rng = rand::thread_rng();    let s1 = Scalar::random(&mut rng);    let s2 = Scalar::random(&mut rng);    let s3 = Scalar::random(&mut rng);    let s4 = Scalar::random(&mut rng);    let s5 = Scalar::random(&mut rng);    // Check basic behaviour    assert_eq!(df1.check(&s1), Fresh);    assert_eq!(df1.filter(&s1), Fresh);    assert_eq!(df1.check(&s1), Seen);    assert_eq!(df1.filter(&s1), Seen);    // Ensure different instances of DupFilter have different tables    assert_eq!(df2.check(&s1), Fresh);    assert_eq!(df2.filter(&s1), Fresh);    assert_eq!(df2.filter(&s1), Seen);    assert_eq!(df2.check(&s1), Seen);    // Check multiple ids    assert_eq!(df1.check(&s2), Fresh);    assert_eq!(df1.filter(&s3), Fresh);    assert_eq!(df1.filter(&s4), Fresh);    assert_eq!(df1.filter(&s3), Seen);    assert_eq!(df1.check(&s1), Seen);    assert_eq!(df1.filter(&s1), Seen);    assert_eq!(df1.filter(&s5), Fresh);    println!("df1 = {:?}", df1);    println!("df2 = {:?}", df2);}
 |