@@ -50,3 +50,78 @@ fn test_if_not() {
50
50
assert_eq ! ( if_not( true ) , Ok ( 1 ) ) ;
51
51
assert_eq ! ( if_not( false ) , Ok ( 0 ) ) ;
52
52
}
53
+
54
+ #[ test]
55
+ fn test_eq ( ) {
56
+ let eq = jit_function ! { eq( a: bool , b: bool ) -> i64 => r##"
57
+ def eq(a: bool, b: bool):
58
+ if a == b:
59
+ return 1
60
+ return 0
61
+ "## } ;
62
+
63
+ assert_eq ! ( eq( false , false ) , Ok ( 1 ) ) ;
64
+ assert_eq ! ( eq( true , true ) , Ok ( 1 ) ) ;
65
+ assert_eq ! ( eq( false , true ) , Ok ( 0 ) ) ;
66
+ assert_eq ! ( eq( true , false ) , Ok ( 0 ) ) ;
67
+ }
68
+
69
+ #[ test]
70
+ fn test_gt ( ) {
71
+ let gt = jit_function ! { gt( a: bool , b: bool ) -> i64 => r##"
72
+ def gt(a: bool, b: bool):
73
+ if a > b:
74
+ return 1
75
+ return 0
76
+ "## } ;
77
+
78
+ assert_eq ! ( gt( false , false ) , Ok ( 0 ) ) ;
79
+ assert_eq ! ( gt( true , true ) , Ok ( 0 ) ) ;
80
+ assert_eq ! ( gt( false , true ) , Ok ( 0 ) ) ;
81
+ assert_eq ! ( gt( true , false ) , Ok ( 1 ) ) ;
82
+ }
83
+
84
+ #[ test]
85
+ fn test_lt ( ) {
86
+ let lt = jit_function ! { lt( a: bool , b: bool ) -> i64 => r##"
87
+ def lt(a: bool, b: bool):
88
+ if a < b:
89
+ return 1
90
+ return 0
91
+ "## } ;
92
+
93
+ assert_eq ! ( lt( false , false ) , Ok ( 0 ) ) ;
94
+ assert_eq ! ( lt( true , true ) , Ok ( 0 ) ) ;
95
+ assert_eq ! ( lt( false , true ) , Ok ( 1 ) ) ;
96
+ assert_eq ! ( lt( true , false ) , Ok ( 0 ) ) ;
97
+ }
98
+
99
+ #[ test]
100
+ fn test_gte ( ) {
101
+ let gte = jit_function ! { gte( a: bool , b: bool ) -> i64 => r##"
102
+ def gte(a: bool, b: bool):
103
+ if a >= b:
104
+ return 1
105
+ return 0
106
+ "## } ;
107
+
108
+ assert_eq ! ( gte( false , false ) , Ok ( 1 ) ) ;
109
+ assert_eq ! ( gte( true , true ) , Ok ( 1 ) ) ;
110
+ assert_eq ! ( gte( false , true ) , Ok ( 0 ) ) ;
111
+ assert_eq ! ( gte( true , false ) , Ok ( 1 ) ) ;
112
+ }
113
+
114
+ #[ test]
115
+ fn test_lte ( ) {
116
+ let lte = jit_function ! { lte( a: bool , b: bool ) -> i64 => r##"
117
+ def lte(a: bool, b: bool):
118
+ if a <= b:
119
+ return 1
120
+ return 0
121
+ "## } ;
122
+
123
+ assert_eq ! ( lte( false , false ) , Ok ( 1 ) ) ;
124
+ assert_eq ! ( lte( true , true ) , Ok ( 1 ) ) ;
125
+ assert_eq ! ( lte( false , true ) , Ok ( 1 ) ) ;
126
+ assert_eq ! ( lte( true , false ) , Ok ( 0 ) ) ;
127
+ }
0 commit comments