@Test
public void givenKnownLastName_whenFindMembersByFullName_thenLastNastIsNotNullAndContainedInFullName() {
MemberDatabase database = new MemberDatabase();
String lastName = database.lookUp("0001")
.orElseThrow(NoSuchElementException::new)
.lastName();
List<String> fullName = database.findMembersByLastName(lastName).get(0).toFullName();
assertWhen(
valueOf(lastName)
.then()
.verifyWith(allOf(
isNotNull(),
not(isEmptyString()))),
valueOf(fullName).asListOfClass(String.class)
.then()
.contains(lastName + "_"));
}
["Doe",["John","Doe","PhD"]]->&& ->false
transform
at[0] ->"Doe"
"Doe" -> check
WHEN
treatAs[NOUT] ->"Doe"
THEN
&& ->true
isNotNull ->true
! ->true
isEmpty ->false
["Doe",["John","Doe","PhD"]]-> transform
at[1] ->["John","Doe","PhD"]
["John","Doe","PhD"] -> check
WHEN
treatAsList ->["John","Doe","PhD"]
THEN
contains["Doe_"]->false
This is redundant and it should be like the following.
"Doe" -> check
WHEN
treatAs[NOUT] ->"Doe"
THEN
&& ->true
isNotNull ->true
! ->true
isEmpty ->false
["John","Doe","PhD"] -> check
WHEN
treatAsList ->["John","Doe","PhD"]
THEN
contains["Doe_"]->false
"Doe" -> WHEN
treatAs[NOUT] ->"Doe"
THEN
&& ->true
isNotNull ->true
! ->true
isEmpty ->false
["John","Doe","PhD"] -> WHEN
treatAsList ->["John","Doe","PhD"]
THEN
contains["Doe_"]->false
it will be even better.