simple_middleware/middleware.rs
1pub struct Middleware<V, R> {
2 inner: fn(V) -> R,
3}
4
5impl<V, R> Middleware<V, R> {
6 pub fn handle(&self, value: V) -> R {
7 (self.inner)(value)
8 }
9}
10
11#[cfg(test)]
12mod test {
13 use super::*;
14
15 #[test]
16 fn test_calling_middleware() {
17 let middle = Middleware {
18 inner: |val: i32| val + 2,
19 };
20
21 assert_eq!(middle.handle(50), 52, "Wrong answer. suppose to be 52");
22 }
23}