@@ -8,7 +8,7 @@ class A {
8
8
BiFunction <Float , Integer , Integer > add = (x0 , y0 ) -> x0 .intValue () + y0 ;
9
9
int z = 10 ;
10
10
11
- A a ;
11
+ A a = new A () ;
12
12
B b = new B ();
13
13
14
14
public Integer g (Float x , Integer y , BiFunction <Float , Integer , Integer > fun ) {
@@ -74,17 +74,54 @@ public boolean custom(Integer i) {
74
74
return custom .is_ok (i );
75
75
}
76
76
77
- public static void main (String [] args ) {
78
- // Uses all of the above test functions, to ensure they are loaded under
79
- // symex-driven loading:
80
-
81
- Lambdatest lt = new Lambdatest ();
82
- lt .f (0.0f , 0 , 0 );
83
- lt .i (0 );
84
- lt .j (0 );
85
- lt .k (0 );
86
- lt .l (0 );
87
- lt .m (0 );
77
+ public static void main (String [] args , int unknown ) {
78
+ Lambdatest lt = new Lambdatest ();
79
+ if (unknown == 0 )
80
+ assert lt .g (1.0f , 2 , (x , y ) -> x .intValue () + y ) == 3 ; // should succeed
81
+ else if (unknown == 1 )
82
+ assert lt .g (1.0f , 2 , (x , y ) -> x .intValue () + y ) == 4 ; // should fail
83
+ else if (unknown == 2 )
84
+ assert lt .f (1.0f , 2 , 3 ) == 9 ; // should succeed
85
+ else if (unknown == 3 )
86
+ assert lt .f (1.0f , 2 , 3 ) == 10 ; // should fail
87
+ else if (unknown == 4 )
88
+ assert lt .i (2 ) == 10 ; // should succeed
89
+ else if (unknown == 5 )
90
+ assert lt .i (2 ) == 11 ; // should fail
91
+ else if (unknown == 6 )
92
+ assert lt .j (3 ) == 30 ; // should succeed
93
+ else if (unknown == 7 )
94
+ assert lt .j (3 ) == 31 ; // should fail
95
+ else if (unknown == 8 )
96
+ assert lt .k (4 ) == 40 ; // should succeed
97
+ else if (unknown == 9 )
98
+ assert lt .k (4 ) == 41 ; // should fail
99
+ else if (unknown == 10 )
100
+ {
101
+ assert lt .l (5 ) == 70 ; // should succeed
102
+ assert lt .b .y == 70 ; // check side-effects of l method
103
+ }
104
+ else if (unknown == 11 )
105
+ assert lt .l (5 ) == 51 ; // should fail
106
+ else if (unknown == 12 )
107
+ {
108
+ assert lt .m (6 ) == 60 ; // should succeed
109
+ assert lt .b .y == 60 ; // check side-effects of m method
110
+ }
111
+ else if (unknown == 13 )
112
+ assert lt .m (6 ) == 61 ; // should fail
113
+ else if (unknown == 14 )
114
+ assert lt .d (7.0 ) == 10.5 ; // should succeed
115
+ else if (unknown == 15 )
116
+ assert lt .d (7.0 ) == 12 ; // should fail
117
+ else if (unknown == 16 )
118
+ assert lt .capture2 (8.0f ) == 9 ; // should succeed
119
+ else if (unknown == 17 )
120
+ assert lt .capture2 (8.0f ) == 10 ; // should fail
121
+ else if (unknown == 18 )
122
+ assert lt .custom (9 ); // should succeed
123
+ else if (unknown == 19 )
124
+ assert !lt .custom (9 ); // should fail
88
125
}
89
126
}
90
127
0 commit comments