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}