BAEL-7041
Commit for the article "Check if List Contains At Least One Enum" which adds the "CheckIfListContainsEnumUnitTest" class to check if a list contains an enum in Java.
This commit is contained in:
parent
c606fc82f4
commit
3ae82245ee
|
@ -0,0 +1,76 @@
|
|||
package com.baeldung.checkiflistcontainsenum;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class CheckIfListContainsEnumUnitTest {
|
||||
private final List<Map<String, Object>> data = new ArrayList<>();
|
||||
public boolean containsDeveloper = false;
|
||||
List<Position> list = Arrays.asList(Position.values());
|
||||
|
||||
public CheckIfListContainsEnumUnitTest() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("Name", "John");
|
||||
map.put("Age", 25);
|
||||
map.put("Position", Position.DEVELOPER);
|
||||
|
||||
data.add(map);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void givenDataList_whenUsingLoop_thenCheckIfListContainsEnum() {
|
||||
for (Map<String, Object> entry : data) {
|
||||
Object positionValue = entry.get("Position");
|
||||
|
||||
for (Position position : Position.values()) {
|
||||
if (positionValue.equals(position)) {
|
||||
containsDeveloper = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (containsDeveloper) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Assert.assertTrue(containsDeveloper);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenDataList_whenUsingStream_thenCheckIfListContainsEnum() {
|
||||
containsDeveloper = data.stream()
|
||||
.map(entry -> entry.get("Position"))
|
||||
.anyMatch(position -> Arrays.asList(Position.values()).contains(position));
|
||||
|
||||
Assert.assertTrue(containsDeveloper);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenDataList_whenUsingDisjointMethod_thenCheckIfListContainsEnum() {
|
||||
List<Position> positionValues = data.stream()
|
||||
.map(entry -> (Position) entry.get("Position"))
|
||||
.toList();
|
||||
|
||||
boolean containsDeveloper = !Collections.disjoint(list, positionValues);
|
||||
Assert.assertTrue(containsDeveloper);
|
||||
}
|
||||
|
||||
|
||||
public enum Position {
|
||||
DEVELOPER("Dev"), MANAGER("Mgr"), ANALYST("Analyst");
|
||||
|
||||
private final String value;
|
||||
|
||||
Position(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue