@@ -38,7 +38,6 @@ public void overviewTest() {
38
38
TestNode .LABEL ,
39
39
TestNode .STRING_PROPERTY , "node 2" ,
40
40
TestNode .INT_PROPERTY , 52 ,
41
- TestNode .STRING_LIST_PROPERTY , Arrays .asList ("stringThree" , "stringFour" ),
42
41
TestNode .INT_LIST_PROPERTY , Arrays .asList (52 , 53 ));
43
42
44
43
builder .addEdge (n1D , n2D ,TestEdge .LABEL , TestEdge .LONG_PROPERTY , 99L );
@@ -49,13 +48,23 @@ public void overviewTest() {
49
48
Node n2 = (Node )n2D .getRefOrId ();
50
49
Edge e = n1 .outE ().next ();
51
50
52
- // verify that we can cast to our domain-specific nodes/edges
51
+ // verify that we can cast to our domain-specific nodes/edges
52
+ // n.b. the results of `property` and `propertyOption` accessors depend on the domain class implementations
53
+ // and might therefor be misleading - see e.g. https://github.com/joernio/joern/pull/4382: our codegen generates domain
54
+ // classes that return `Some(Seq.empty)` for an undefined list property...
53
55
TestNode node1 = (TestNode ) n1 ;
56
+ TestNode node2 = (TestNode ) n2 ;
54
57
assertEquals ("node 1" , node1 .stringProperty ());
55
58
assertEquals ("node 1" , node1 .property (TestNode .STRING_PROPERTY ));
56
59
assertEquals ("node 1" , node1 .property (new PropertyKey <>(TestNode .STRING_PROPERTY )));
57
60
assertEquals (Optional .of ("node 1" ), node1 .propertyOption (TestNode .STRING_PROPERTY ));
58
61
assertEquals (Optional .of ("node 1" ), node1 .propertyOption (new PropertyKey <>(TestNode .STRING_PROPERTY )));
62
+ assertEquals (Optional .of (Arrays .asList ("stringOne" , "stringTwo" )), node1 .propertyOption (TestNode .STRING_LIST_PROPERTY ));
63
+ assertEquals (Optional .of (Arrays .asList ("stringOne" , "stringTwo" )), node1 .propertyOption (new PropertyKey <>(TestNode .STRING_LIST_PROPERTY )));
64
+ assertEquals (Optional .empty (), node1 .propertyOption ("UNKNOWN_PROPERTY" ));
65
+ assertEquals (Optional .empty (), node1 .propertyOption (new PropertyKey <>("UNKNOWN_PROPERTY" )));
66
+ assertEquals (Optional .empty (), node2 .propertyOption (TestNode .STRING_LIST_PROPERTY ));
67
+ assertEquals (Optional .empty (), node2 .propertyOption (new PropertyKey <>(TestNode .STRING_LIST_PROPERTY )));
59
68
assertEquals (Integer .valueOf (42 ), node1 .intProperty ());
60
69
assertEquals (Arrays .asList ("stringOne" , "stringTwo" ), node1 .stringListProperty ());
61
70
assertEquals (Arrays .asList (42 , 43 ), node1 .intListProperty ());
0 commit comments