Skip to content

Commit eed20af

Browse files
authored
Merge branch 'dev' into sb/#286-refactoringDataSourceClassDiagram
2 parents 4d3068a + 68e79b0 commit eed20af

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

src/main/java/edu/ie3/datamodel/io/source/csv/CsvDataSource.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ protected <T extends UniqueEntity> Stream<T> filterEmptyOptionals(Stream<Optiona
329329
*/
330330
protected <T extends UniqueEntity> Optional<T> findFirstEntityByUuid(
331331
String entityUuid, Collection<T> entities) {
332+
if (entities == null) return Optional.empty();
332333
return entities.stream()
333334
.parallel()
334335
.filter(uniqueEntity -> uniqueEntity.getUuid().toString().equalsIgnoreCase(entityUuid))

src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvDataSourceTest.groovy

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,36 @@ class CsvDataSourceTest extends Specification {
6666

6767
DummyCsvSource dummyCsvSource = new DummyCsvSource(csvSep, testBaseFolderPath, fileNamingStrategy)
6868

69+
def "A csv data source returns empty optional, when looking for a specific uuid"() {
70+
given:
71+
def entities = null
72+
def uuid = UUID.randomUUID().toString()
73+
74+
when:
75+
def actual = dummyCsvSource.findFirstEntityByUuid(uuid, entities)
76+
77+
then:
78+
!actual.present
79+
}
80+
81+
def "A csv data source is able to find the correct first entity by uuid"() {
82+
given:
83+
def uuid = UUID.randomUUID()
84+
def queriedOperator = new OperatorInput(uuid, "b")
85+
def entities = Arrays.asList(
86+
new OperatorInput(UUID.randomUUID(), "a"),
87+
queriedOperator,
88+
new OperatorInput(UUID.randomUUID(), "c")
89+
)
90+
91+
when:
92+
def actual = dummyCsvSource.findFirstEntityByUuid(uuid.toString(), entities)
93+
94+
then:
95+
actual.present
96+
actual.get() == queriedOperator
97+
}
98+
6999
def "A DataSource should contain a valid connector after initialization"() {
70100
expect:
71101
dummyCsvSource.connector != null

0 commit comments

Comments
 (0)