File tree Expand file tree Collapse file tree 2 files changed +32
-13
lines changed
main/java/io/javaoperatorsdk/operator/processing/event
test/java/io/javaoperatorsdk/operator/processing/event Expand file tree Collapse file tree 2 files changed +32
-13
lines changed Original file line number Diff line number Diff line change @@ -16,21 +16,12 @@ public List<Event> getList() {
16
16
}
17
17
18
18
public <T extends Event > Optional <T > getLatestOfType (Class <T > eventType ) {
19
- ListIterator <Event > iterator = eventList .listIterator (eventList .size () - 1 );
20
- while (iterator .hasPrevious ()) {
21
- Event event = iterator .previous ();
19
+ for (int i = eventList .size () - 1 ; i >= 0 ; i --){
20
+ Event event = eventList .get (i );
22
21
if (event .getClass ().isAssignableFrom (eventType )) {
23
- return Optional .of (( T ) event );
22
+ return ( Optional < T >) Optional .of (event );
24
23
}
25
24
}
26
-
27
- List <Event > eventsOfType = eventList .stream ()
28
- .filter (event -> event .getClass ().isAssignableFrom (eventType ))
29
- .collect (Collectors .toList ());
30
- if (eventsOfType .size () > 0 ) {
31
- return Optional .of ((T ) eventsOfType .get (eventsOfType .size () - 1 ));
32
- } else {
33
- return Optional .empty ();
34
- }
25
+ return Optional .empty ();
35
26
}
36
27
}
Original file line number Diff line number Diff line change
1
+ package io .javaoperatorsdk .operator .processing .event ;
2
+
3
+ import io .javaoperatorsdk .operator .processing .event .internal .CustomResourceEvent ;
4
+ import io .javaoperatorsdk .operator .processing .event .internal .TimerEvent ;
5
+ import org .junit .jupiter .api .Test ;
6
+
7
+ import java .util .ArrayList ;
8
+ import java .util .Arrays ;
9
+ import java .util .List ;
10
+
11
+ import static com .google .common .truth .Truth .assertThat ;
12
+ import static org .junit .jupiter .api .Assertions .*;
13
+ import static org .mockito .Mockito .mock ;
14
+
15
+ class EventListTest {
16
+
17
+ @ Test
18
+ public void returnsLatestOfEventType () {
19
+ TimerEvent event2 = new TimerEvent ("1" , null );
20
+ EventList eventList = new EventList (Arrays .asList (
21
+ mock (Event .class ),
22
+ new TimerEvent ("2" , null ),
23
+ event2 ,
24
+ mock (Event .class )));
25
+
26
+ assertThat (eventList .getLatestOfType (TimerEvent .class ).get ()).isSameInstanceAs (event2 );
27
+ }
28
+ }
You can’t perform that action at this time.
0 commit comments