()
| 908 | |
| 909 | #[test] |
| 910 | fn inserting() { |
| 911 | let f = &mut MapForest::<u32, f32>::new(); |
| 912 | let mut m = Map::<u32, f32>::new(); |
| 913 | |
| 914 | // The first seven values stay in a single leaf node. |
| 915 | assert_eq!(m.insert(50, 5.0, f, &()), None); |
| 916 | assert_eq!(m.insert(50, 5.5, f, &()), Some(5.0)); |
| 917 | assert_eq!(m.insert(20, 2.0, f, &()), None); |
| 918 | assert_eq!(m.insert(80, 8.0, f, &()), None); |
| 919 | assert_eq!(m.insert(40, 4.0, f, &()), None); |
| 920 | assert_eq!(m.insert(60, 6.0, f, &()), None); |
| 921 | assert_eq!(m.insert(90, 9.0, f, &()), None); |
| 922 | assert_eq!(m.insert(200, 20.0, f, &()), None); |
| 923 | |
| 924 | m.verify(f, &()); |
| 925 | |
| 926 | assert_eq!( |
| 927 | m.iter(f).collect::<Vec<_>>(), |
| 928 | [ |
| 929 | (20, 2.0), |
| 930 | (40, 4.0), |
| 931 | (50, 5.5), |
| 932 | (60, 6.0), |
| 933 | (80, 8.0), |
| 934 | (90, 9.0), |
| 935 | (200, 20.0), |
| 936 | ] |
| 937 | ); |
| 938 | |
| 939 | assert_eq!(m.get(0, f, &()), None); |
| 940 | assert_eq!(m.get(20, f, &()), Some(2.0)); |
| 941 | assert_eq!(m.get(30, f, &()), None); |
| 942 | assert_eq!(m.get(40, f, &()), Some(4.0)); |
| 943 | assert_eq!(m.get(50, f, &()), Some(5.5)); |
| 944 | assert_eq!(m.get(60, f, &()), Some(6.0)); |
| 945 | assert_eq!(m.get(70, f, &()), None); |
| 946 | assert_eq!(m.get(80, f, &()), Some(8.0)); |
| 947 | assert_eq!(m.get(100, f, &()), None); |
| 948 | |
| 949 | assert_eq!(m.get_or_less(0, f, &()), None); |
| 950 | assert_eq!(m.get_or_less(20, f, &()), Some((20, 2.0))); |
| 951 | assert_eq!(m.get_or_less(30, f, &()), Some((20, 2.0))); |
| 952 | assert_eq!(m.get_or_less(40, f, &()), Some((40, 4.0))); |
| 953 | assert_eq!(m.get_or_less(200, f, &()), Some((200, 20.0))); |
| 954 | assert_eq!(m.get_or_less(201, f, &()), Some((200, 20.0))); |
| 955 | |
| 956 | { |
| 957 | let mut c = m.cursor_mut(f, &()); |
| 958 | assert_eq!(c.prev(), Some((200, 20.0))); |
| 959 | assert_eq!(c.prev(), Some((90, 9.0))); |
| 960 | assert_eq!(c.prev(), Some((80, 8.0))); |
| 961 | assert_eq!(c.prev(), Some((60, 6.0))); |
| 962 | assert_eq!(c.prev(), Some((50, 5.5))); |
| 963 | assert_eq!(c.prev(), Some((40, 4.0))); |
| 964 | assert_eq!(c.prev(), Some((20, 2.0))); |
| 965 | assert_eq!(c.prev(), None); |
| 966 | } |
| 967 |
nothing calls this directly
no test coverage detected