Skip to main content

iris/core/
mod.rs

1pub mod mat;
2pub mod rng;
3pub mod types;
4pub mod utils;
5
6pub use mat::Mat;
7pub use rng::Rng;
8pub use types::{Point, Rect, Scalar, Size};
9
10#[cfg(test)]
11mod tests {
12    use super::*;
13
14    #[test]
15    fn test_rng() {
16        let mut rng = Rng::new(42);
17        let val1 = rng.next_u32();
18        let val2 = rng.next_u32();
19        assert_ne!(val1, val2);
20
21        let f = rng.next_f32();
22        assert!((0.0..1.0).contains(&f));
23    }
24
25    #[test]
26    fn test_types() {
27        let p = Point::new(10, 20);
28        assert_eq!(p.x, 10);
29        assert_eq!(p.y, 20);
30
31        let r = Rect::new(0, 0, 100, 200);
32        assert_eq!(r.width, 100);
33        assert_eq!(r.height, 200);
34
35        let s = Size::new(800, 600);
36        assert_eq!(s.width, 800);
37        assert_eq!(s.height, 600);
38
39        let sc = Scalar::new(1.0, 2.0, 3.0, 4.0);
40        assert_eq!(sc.0[0], 1.0);
41        assert_eq!(sc.0[3], 4.0);
42    }
43}