comparison rust/hg-core/src/ancestors.rs @ 40929:43ca24b772d6

rust: adapted hg-core tests for iteration over Result Now AncestorsIterator iters on Result<Revision, GraphError>
author Georges Racinet <gracinet@anybox.fr>
date Tue, 11 Dec 2018 17:13:17 +0100
parents c9c10430fd7f
children dc38d976ff4d
comparison
equal deleted inserted replaced
40928:576474baa209 40929:43ca24b772d6
171 stoprev: Revision, 171 stoprev: Revision,
172 inclusive: bool, 172 inclusive: bool,
173 ) -> Vec<Revision> { 173 ) -> Vec<Revision> {
174 AncestorsIterator::new(graph, initrevs, stoprev, inclusive) 174 AncestorsIterator::new(graph, initrevs, stoprev, inclusive)
175 .unwrap() 175 .unwrap()
176 .map(|res| res.unwrap())
176 .collect() 177 .collect()
177 } 178 }
178 179
179 #[test] 180 #[test]
180 /// Same tests as test-ancestor.py, without membership 181 /// Same tests as test-ancestor.py, without membership
216 217
217 #[test] 218 #[test]
218 fn test_contains() { 219 fn test_contains() {
219 let mut lazy = 220 let mut lazy =
220 AncestorsIterator::new(Stub, vec![10, 1], 0, true).unwrap(); 221 AncestorsIterator::new(Stub, vec![10, 1], 0, true).unwrap();
221 assert!(lazy.contains(1)); 222 assert!(lazy.contains(1).unwrap());
222 assert!(!lazy.contains(3)); 223 assert!(!lazy.contains(3).unwrap());
223 224
224 let mut lazy = 225 let mut lazy =
225 AncestorsIterator::new(Stub, vec![0], 0, false).unwrap(); 226 AncestorsIterator::new(Stub, vec![0], 0, false).unwrap();
226 assert!(!lazy.contains(NULL_REVISION)); 227 assert!(!lazy.contains(NULL_REVISION).unwrap());
227 } 228 }
228 229
229 /// A corrupted Graph, supporting error handling tests 230 /// A corrupted Graph, supporting error handling tests
230 struct Corrupted; 231 struct Corrupted;
231 232
253 #[test] 254 #[test]
254 fn test_next_out_of_range() { 255 fn test_next_out_of_range() {
255 // inclusive=false looks up initrev's parents right away 256 // inclusive=false looks up initrev's parents right away
256 let mut iter = 257 let mut iter =
257 AncestorsIterator::new(Corrupted, vec![1], 0, false).unwrap(); 258 AncestorsIterator::new(Corrupted, vec![1], 0, false).unwrap();
258 assert_eq!(iter.next(), Some(0)); 259 assert_eq!(iter.next(), Some(Err(GraphError::ParentOutOfRange(0))));
259 assert_eq!(iter.next(), None); 260 }
260 } 261 }
261 }