MCPcopy Create free account
hub / github.com/QMHTMY/RustBook / main

Function main

code/chapter03/linked_list.rs:121–172  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

119}
120
121fn main() {
122 fn basic_test() {
123 let mut list = List::new();
124 list.push(1); list.push(2); list.push(3);
125 assert_eq!(list.pop(), Some(3));
126 assert_eq!(list.peek(), Some(&2));
127 assert_eq!(list.peek_mut(), Some(&mut 2));
128 list.peek_mut().map(|val| {
129 *val = 4;
130 });
131 assert_eq!(list.peek(), Some(&4));
132 println!("basics test Ok!");
133 }
134
135 fn into_iter_test() {
136 let mut list = List::new();
137 list.push(1); list.push(2); list.push(3);
138 let mut iter = list.into_iter();
139 assert_eq!(iter.next(), Some(3));
140 assert_eq!(iter.next(), Some(2));
141 assert_eq!(iter.next(), Some(1));
142 assert_eq!(iter.next(), None);
143 println!("into_iter test Ok!");
144 }
145
146 fn iter_test() {
147 let mut list = List::new();
148 list.push(1); list.push(2); list.push(3);
149 let mut iter = list.iter();
150 assert_eq!(iter.next(), Some(&3));
151 assert_eq!(iter.next(), Some(&2));
152 assert_eq!(iter.next(), Some(&1));
153 assert_eq!(iter.next(), None);
154 println!("iter test Ok!");
155 }
156
157 fn iter_mut_test() {
158 let mut list = List::new();
159 list.push(1); list.push(2); list.push(3);
160 let mut iter = list.iter_mut();
161 assert_eq!(iter.next(), Some(&mut 3));
162 assert_eq!(iter.next(), Some(&mut 2));
163 assert_eq!(iter.next(), Some(&mut 1));
164 assert_eq!(iter.next(), None);
165 println!("iter_mut test Ok!");
166 }
167
168 basic_test();
169 into_iter_test();
170 iter_test();
171 iter_mut_test();
172}

Callers

nothing calls this directly

Calls 4

basic_testFunction · 0.70
into_iter_testFunction · 0.70
iter_testFunction · 0.70
iter_mut_testFunction · 0.70

Tested by

no test coverage detected