Skip to content

Commit 0eb6d47

Browse files
Merge pull request #509 from com-pas/feat/508-add-find-by-name-to-doi-service
feat: added find by name to doi service, closes #508
2 parents 4727a38 + 90bd559 commit 0eb6d47

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

sct-commons/src/main/java/org/lfenergy/compas/sct/commons/DoiService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@ public Optional<TDOI> findDoi(TAnyLN tAnyLN, Predicate<TDOI> tdoiPredicate) {
2525
return getFilteredDois(tAnyLN, tdoiPredicate).findFirst();
2626
}
2727

28+
public Optional<TDOI> findDoiByName(TAnyLN tAnyLN, String doiName) {
29+
return findDoi(tAnyLN, tdoi -> tdoi.getName().equals(doiName));
30+
}
31+
2832
}

sct-commons/src/test/java/org/lfenergy/compas/sct/commons/DoiServiceTest.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class DoiServiceTest {
2323
void getDois() {
2424
//Given
2525
SCL std = SclTestMarshaller.getSCLFromFile("/std/std_sample.std");
26-
LN0 ln0 = std.getIED().get(0).getAccessPoint().get(0).getServer().getLDevice().get(0).getLN0();
26+
LN0 ln0 = std.getIED().getFirst().getAccessPoint().getFirst().getServer().getLDevice().getFirst().getLN0();
2727

2828
//When
2929
List<TDOI> tdois = doiService.getDois(ln0).toList();
@@ -39,7 +39,7 @@ void getDois() {
3939
void getFilteredDois() {
4040
//Given
4141
SCL std = SclTestMarshaller.getSCLFromFile("/std/std_sample.std");
42-
LN0 ln0 = std.getIED().get(0).getAccessPoint().get(0).getServer().getLDevice().get(0).getLN0();
42+
LN0 ln0 = std.getIED().getFirst().getAccessPoint().getFirst().getServer().getLDevice().getFirst().getLN0();
4343

4444
//When
4545
List<TDOI> tdois = doiService.getFilteredDois(ln0, tdoi -> tdoi.getName().equals("Beh")).toList();
@@ -55,7 +55,7 @@ void getFilteredDois() {
5555
void findDoi() {
5656
//Given
5757
SCL std = SclTestMarshaller.getSCLFromFile("/std/std_sample.std");
58-
LN0 ln0 = std.getIED().get(0).getAccessPoint().get(0).getServer().getLDevice().get(0).getLN0();
58+
LN0 ln0 = std.getIED().getFirst().getAccessPoint().getFirst().getServer().getLDevice().getFirst().getLN0();
5959

6060
//When
6161
Optional<TDOI> doi = doiService.findDoi(ln0, tdoi -> tdoi.getName().equals("Beh"));
@@ -65,4 +65,17 @@ void findDoi() {
6565
.extracting(TDOI::getName, tdoi -> tdoi.getSDIOrDAI().size())
6666
.containsExactly("Beh", 1);
6767
}
68+
69+
@Test
70+
void findDoiByName() {
71+
//Given
72+
SCL std = SclTestMarshaller.getSCLFromFile("/std/std_sample.std");
73+
LN0 ln0 = std.getIED().getFirst().getAccessPoint().getFirst().getServer().getLDevice().getFirst().getLN0();
74+
75+
//When
76+
Optional<TDOI> doi = doiService.findDoiByName(ln0, "Beh");
77+
78+
//Then
79+
assertThat(doi).hasValueSatisfying(tdoi -> assertThat(tdoi.getName()).isEqualTo("Beh"));
80+
}
6881
}

0 commit comments

Comments
 (0)