gpt4 book ai didi

java - 使用 JUnit 和 Hamcrest 进行简单验证

转载 作者:行者123 更新时间:2023-12-01 18:23:30 25 4
gpt4 key购买 nike

我有一个包含子 ID(childid1、childid2、childid3)和状态映射的 map ,并且我有一个包含所有 ID(例如 childid1、childid2、childid3 等)的列表

所有这些子 ID 都映射到单个父 ID,即 PID,并且 PID 也有一些状态。当我将 PID 的状态从 A 更改为 B 时,然后根据条件,childids 的状态会发生更改,例如 A 更改为 B,B 保持为 B,状态 C 保持为 C。

当我将 PID 的状态从 B 更改为 C 时,然后根据 childid 的状态更改,例如 A 更改为 C,B 保持为 B,状态 C 保持为 C。

在不编写任何复杂逻辑的情况下,是否有任何简单的方法可以使用 JUnit 5 和 Hamcrest 来验证这一点。像这样的东西:

if(updateStatus.equals("A")){
assertAll("",
() -> {
childIds.stream().forEach(id -> {
assertThat("", idStatusMap.get(id).equals("A"), is("B"));
assertThat("", idStatusMap.get(id).equals("B"), is("B"));
assertThat("", idStatusMap.get(id).equals("C"), is("B"));
});
});
}

感谢任何帮助。谢谢

最佳答案

我不太了解您更改子 ID 的逻辑/控制工作流程。但是,我认为,这样的事情应该有效:

if (updateStatus.equals("A") {
Optional<> result = childIds.stream()
.filter(id -> idStatusMap.get(id).equals("A") && id.equals("B"))
.filter(id -> idStatusMap.get(id).equals("B") && id.equals("B"))
.filter(id -> idStatusMap.get(id).equals("C") && id.equals("B"))
.findAny();

assertTrue(result.isPresent());
}

关于java - 使用 JUnit 和 Hamcrest 进行简单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60267363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com