data_pipeline/
lib.rs

1pub mod filter;
2pub mod junction;
3pub mod stream;
4
5#[cfg(test)]
6mod tests {
7    use crate::stream::Stream;
8
9    use super::*;
10
11    #[test]
12    fn intergation() {
13        let one = Stream::new(|| 1.0);
14        let x = one.clone().integrate(Some(1.0));
15        assert_eq!(x.get(), 1.0);
16        assert_eq!(x.get(), 2.0);
17    }
18
19    #[test]
20    fn differentiation() {
21        let one = Stream::new(|| 1.0);
22        let zero = one.clone().differentiate(None);
23        assert_eq!(zero.get(), 0.0);
24        assert_eq!(zero.get(), 0.0);
25    }
26
27    #[test]
28    fn inverses() {
29        let one = Stream::new(|| 1.0);
30        let other = one.clone().integrate(Some(1.0));
31        let other = other.differentiate(Some(1.0));
32        other.get();
33        assert_eq!(one.get(), other.get());
34        assert_eq!(one.get(), other.get());
35    }
36}