+++ /dev/null
-#[macro_use]
-extern crate global_counter;
-
-use learning::*;
-
-#[test]
-fn test_longest() {
- assert_eq!(longest("abc", "de"), "abc");
- assert_eq!(longest("abc", "def"), "def");
- assert_eq!(longest("abc", "defg"), "defg");
-}
-
-#[test]
-fn test_cacher_int_int() {
- global_default_counter!(CALLED, u32);
- let mut cacher = Cacher::new(|x| {
- CALLED.inc();
- 2 * x
- });
- assert_eq!(cacher.value(1), 2);
- assert_eq!(CALLED.get_cloned(), 1);
- // second time cached
- assert_eq!(cacher.value(1), 2);
- assert_eq!(CALLED.get_cloned(), 1);
- // re-evaluated for new value
- assert_eq!(cacher.value(-2), -4);
- assert_eq!(CALLED.get_cloned(), 2);
- // old arg still cached
- assert_eq!(cacher.value(1), 2);
- assert_eq!(CALLED.get_cloned(), 2);
-}
-
-#[test]
-fn test_cacher_str_usize() {
- global_default_counter!(CALLED, u32);
- let mut cacher = Cacher::new(|x: &str| {
- CALLED.inc();
- x.len()
- });
- assert_eq!(cacher.value("abc"), 3);
- assert_eq!(CALLED.get_cloned(), 1);
- // second time cached
- assert_eq!(cacher.value("abc"), 3);
- assert_eq!(CALLED.get_cloned(), 1);
- // re-evaluated for new value
- assert_eq!(cacher.value("defg"), 4);
- assert_eq!(CALLED.get_cloned(), 2);
- // old arg still cached
- assert_eq!(cacher.value("abc"), 3);
- assert_eq!(CALLED.get_cloned(), 2);
-}