extern crate hado; use hado::Monad; #[test] #[ignore] fn empty_list_is_empty_list() { assert_eq!( { let t: Vec = vec![]; t }, Monad::>::bind(Vec::new(), |_: u32| vec![0, 0]) ); } #[test] #[ignore] fn two_lists_multiply() { assert_eq!( { let t: Vec = vec![0, 0, 0, 0, 0, 0]; t }, Monad::>::bind(vec![0, 0, 0], |_: u32| vec![0, 0]) ); } #[test] #[ignore] fn duplicate_list() { assert_eq!( { let t: Vec = vec![0, 0, 1, 1, 2, 2]; t }, Monad::>::bind(vec![0, 1, 2], |x: u32| vec![x, x]) ); }