Skip to content

Instantly share code, notes, and snippets.

@sam0x17
Created April 14, 2019 06:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sam0x17/2acc2f1f26f1f450f7ddffac9201427e to your computer and use it in GitHub Desktop.
Save sam0x17/2acc2f1f26f1f450f7ddffac9201427e to your computer and use it in GitHub Desktop.
#[cfg(test)]
use std::fmt::Debug;
#[cfg(test)]
use std::cmp::PartialEq;
#[cfg(test)]
pub fn assert_iter_eq<T: Iterator, U: ExactSizeIterator>(a: T, b: U)
where
T: ExactSizeIterator,
<T as Iterator>::Item: Debug + PartialEq,
U: ExactSizeIterator + Iterator<Item = <T as Iterator>::Item>,
{
assert_eq!(a.len(), b.len());
for (left, right) in a.zip(b) {
assert_eq!(left, right);
}
}
#[cfg(test)]
pub fn assert_iter_ne<T: ExactSizeIterator, U: ExactSizeIterator>(a: T, b: U)
where
T: ExactSizeIterator,
<T as Iterator>::Item: Debug + PartialEq,
U: ExactSizeIterator + Iterator<Item = <T as Iterator>::Item>
{
if a.len() != b.len() {
return;
}
let mut same_count = 0;
let a_len = a.len();
for (left, right) in a.zip(b) {
if left == right {
same_count += 1;
}
}
assert!(same_count < a_len);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment