class AnnalynsInfiltration {
public static boolean canFastAttack(boolean knightIsAwake) {
return !knightIsAwake;
}
public static boolean canSpy(boolean knightIsAwake, boolean archerIsAwake, boolean prisonerIsAwake) {
return knightIsAwake || archerIsAwake || prisonerIsAwake;
}
public static boolean canSignalPrisoner(boolean archerIsAwake, boolean prisonerIsAwake) {
return !archerIsAwake && prisonerIsAwake;
}
public static boolean canFreePrisoner(boolean knightIsAwake, boolean archerIsAwake, boolean prisonerIsAwake, boolean petDogIsPresent) {
return knightIsAwake && archerIsAwake && prisonerIsAwake && petDogIsPresent;
}
}
The other functions work fine, but the canFreePrisoner(boolean knightIsAwake, boolean archerIsAwake, boolean prisonerIsAwake, boolean petDogIsPresent) function continues to throw an error in the many test cases. How should I modify my code?
example case
Message:
Expecting value to be false but was true
Exception: org.opentest4j.AssertionFailedError:
Expecting value to be false but was true
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
at AnnalynsInfiltrationTest.cannot_release_prisoner_if_everyone_is_awake_and_pet_dog_is_present(AnnalynsInfiltrationTest.java:150)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)