()
| 124 | } |
| 125 | |
| 126 | fn main() { |
| 127 | basic_test(); |
| 128 | into_iter_test(); |
| 129 | iter_test(); |
| 130 | iter_mut_test(); |
| 131 | |
| 132 | fn basic_test() { |
| 133 | let mut list = List::new(); |
| 134 | list.push(1); list.push(2); list.push(3); |
| 135 | |
| 136 | assert_eq!(list.len(), 3); |
| 137 | assert_eq!(list.is_empty(), false); |
| 138 | assert_eq!(list.pop(), Some(3)); |
| 139 | assert_eq!(list.peek(), Some(&2)); |
| 140 | assert_eq!(list.peek_mut(), Some(&mut 2)); |
| 141 | |
| 142 | list.peek_mut().map(|val| { |
| 143 | *val = 4; |
| 144 | }); |
| 145 | assert_eq!(list.peek(), Some(&4)); |
| 146 | |
| 147 | list.clear(); |
| 148 | println!("basics test Ok!"); |
| 149 | } |
| 150 | |
| 151 | fn into_iter_test() { |
| 152 | let mut list = List::new(); |
| 153 | list.push(1); list.push(2); list.push(3); |
| 154 | |
| 155 | let mut iter = list.into_iter(); |
| 156 | assert_eq!(iter.next(), Some(3)); |
| 157 | assert_eq!(iter.next(), Some(2)); |
| 158 | assert_eq!(iter.next(), Some(1)); |
| 159 | assert_eq!(iter.next(), None); |
| 160 | println!("into_iter test Ok!"); |
| 161 | } |
| 162 | |
| 163 | fn iter_test() { |
| 164 | let mut list = List::new(); |
| 165 | list.push(1); list.push(2); list.push(3); |
| 166 | |
| 167 | let mut iter = list.iter(); |
| 168 | assert_eq!(iter.next(), Some(&3)); |
| 169 | assert_eq!(iter.next(), Some(&2)); |
| 170 | assert_eq!(iter.next(), Some(&1)); |
| 171 | assert_eq!(iter.next(), None); |
| 172 | println!("iter test Ok!"); |
| 173 | } |
| 174 | |
| 175 | fn iter_mut_test() { |
| 176 | let mut list = List::new(); |
| 177 | list.push(1); list.push(2); list.push(3); |
| 178 | |
| 179 | let mut iter = list.iter_mut(); |
| 180 | assert_eq!(iter.next(), Some(&mut 3)); |
| 181 | assert_eq!(iter.next(), Some(&mut 2)); |
| 182 | assert_eq!(iter.next(), Some(&mut 1)); |
| 183 | assert_eq!(iter.next(), None); |
nothing calls this directly
no test coverage detected