使用 hamcrest 将两个单独列表中的每个项目与自己的匹配器进行比较

发布于 2024-09-15 18:54:54 字数 345 浏览 2 评论 0原文

我尝试比较两个列表:

ListA (a1,a2,a3,...)
ListB (b1,b2,b3,...)

我希望a1与b1比较,a2与b2比较,a3与b3比较,...

但我必须使用另一种方法并且不能使用.equals!

我已经编写了自己的 hamcrest 匹配器。但我必须使用 for 循环来迭代元素。有更好的解决方案吗?

for(int i = 0;i<expected.size();i++){
   assertThat(item.get(i),equalsModel(expected.get(0)));
}

i try to compare two lists with each other:

ListA (a1,a2,a3,...)
ListB (b1,b2,b3,...)

I want that a1 is compared to b1, a2 to b2, a3 to b3, ....

But i have to use another method and cannot use .equals!

I have written my own hamcrest matcher. But i have to use a for loop to iterate over the elements. is there a better solution?

for(int i = 0;i<expected.size();i++){
   assertThat(item.get(i),equalsModel(expected.get(0)));
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你如我软肋 2024-09-22 18:54:54

使用迭代器来代替怎么样?

for(
    Iterator<String> it1 = list1.iterator(), it2 = list2.iterator();
    it1.hasNext() && it2.hasNext();
){
    assertThat(it1.next(),equalsModel(it2.next()));
}

How about using iterators instead?

for(
    Iterator<String> it1 = list1.iterator(), it2 = list2.iterator();
    it1.hasNext() && it2.hasNext();
){
    assertThat(it1.next(),equalsModel(it2.next()));
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文