Mercurial > hg
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 } |