Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 如何比较迭代器?_Testing_Rust_Iterator - Fatal编程技术网

Testing 如何比较迭代器?

Testing 如何比较迭代器?,testing,rust,iterator,Testing,Rust,Iterator,我想比较一下测试用例中的迭代器。不幸的是,assert\u eq不喜欢被传递给迭代器。 一种解决方法如下所示: let mut a = 0..5; let mut b = 0..6; assert!(a.by_ref().zip(b.by_ref()).all(|(a, b)| a == b)); assert_eq!(a.next(), None); assert_eq!(b.next(), None); 但是测试需要3行(或至少2行),迭代器需要可变。有更好的吗?有。我认为这应该是赢家:

我想比较一下测试用例中的迭代器。不幸的是,
assert\u eq不喜欢被传递给迭代器。
一种解决方法如下所示:

let mut a = 0..5;
let mut b = 0..6;

assert!(a.by_ref().zip(b.by_ref()).all(|(a, b)| a == b));
assert_eq!(a.next(), None);
assert_eq!(b.next(), None);
但是测试需要3行(或至少2行),迭代器需要可变。有更好的吗?

有。我认为这应该是赢家:

assert!(a.eq(b));
结果是有
itertools::assert_equal

let a = 0..6;
let b = 0..6;

itertools::assert_equal(a, b);
这不是很漂亮,但这里有一个解决方案,使用:

有。我认为这应该是赢家:

assert!(a.eq(b));
结果是有
itertools::assert_equal

let a = 0..6;
let b = 0..6;

itertools::assert_equal(a, b);
这不是很漂亮,但这里有一个解决方案,使用:


assert!(a.eq(b))足够了
断言!(a.eq(b))site:stackoverflow.com锈比较迭代器
发现重复的结果是我在谷歌搜索的最高结果。此外,请记住,投票是对帖子的反映,而不是对用户的反映。“向下投票”按钮表示:此问题未显示任何研究成果;不清楚或没有用处;我想,由于重复的问题,投票人认为这个问题没有用,因为现在可以找到了——也许。在第一页上找不到任何帖子。然而,关于重复的价值,你是对的——它们是现有答案的路标,这也是我们不会投票删除这样一个问题的原因。@shepmaster,出于同样的原因,它们不应该被否决。我现在受到stackoverflow karma系统的激励,自己删除这个问题。当然,这永远是一个选择。你仍然有几千分,所以理想情况下,从长远来看,一些消极的分数不会带来伤害。激励是一件棘手的事情;我希望下次能鼓励你进行更深入的搜索,但这是我的观点(我也相信)。为什么我的搜索没有找到这个副本对我来说是个谜。你做了什么样的搜索
site:stackoverflow.com锈比较迭代器
发现重复的结果是我在谷歌搜索的最高结果。此外,请记住,投票是对帖子的反映,而不是对用户的反映。“向下投票”按钮表示:此问题未显示任何研究成果;不清楚或没有用处;我想,由于重复的问题,投票人认为这个问题没有用,因为现在可以找到了——也许。在第一页上找不到任何帖子。然而,关于重复的价值,你是对的——它们是现有答案的路标,这也是我们不会投票删除这样一个问题的原因。@shepmaster,出于同样的原因,它们不应该被否决。我现在受到stackoverflow karma系统的激励,自己删除这个问题。当然,这永远是一个选择。你仍然有几千分,所以理想情况下,从长远来看,一些消极的分数不会带来伤害。激励是一件棘手的事情;我希望下次能鼓励你进行更深入的研究,但这是我的观点(我相信)。