lox/crates/lox-library/tests/tests.rs

46 lines
1.4 KiB
Rust
Raw Normal View History

2021-04-27 08:53:22 -04:00
use lox::dup_filter;
use lox::BridgeDb;
2021-04-27 08:53:22 -04:00
use curve25519_dalek::scalar::Scalar;
#[test]
fn test_openinvite() {
let bdb = BridgeDb::new(20);
let inv = bdb.invite();
println!("{:?}", inv);
let res = BridgeDb::verify(inv, bdb.pubkey);
println!("{:?}", res);
}
2021-04-27 08:53:22 -04:00
#[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), false);
assert_eq!(df1.filter(&s1), Ok(()));
assert_eq!(df1.check(&s1), true);
assert_eq!(df1.filter(&s1), Err(()));
// Ensure different instances of DupFilter have different tables
assert_eq!(df2.check(&s1), false);
assert_eq!(df2.filter(&s1), Ok(()));
assert_eq!(df2.filter(&s1), Err(()));
assert_eq!(df2.check(&s1), true);
// Check multiple ids
assert_eq!(df1.check(&s2), false);
assert_eq!(df1.filter(&s3), Ok(()));
assert_eq!(df1.filter(&s4), Ok(()));
assert_eq!(df1.filter(&s3), Err(()));
assert_eq!(df1.check(&s1), true);
assert_eq!(df1.filter(&s1), Err(()));
assert_eq!(df1.filter(&s5), Ok(()));
println!("df1 = {:?}", df1);
println!("df2 = {:?}", df2);
}