File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -847,17 +847,13 @@ def _op_or(self, thing):
847
847
class ComparisonExpression (LeftOperatorRightExpressionBase ):
848
848
"""A class for representing comparison expressions from the grammar text such as equality checks."""
849
849
def _op_eq (self , thing ):
850
- if not DataType .is_compatible (self .left .result_type , self .right .result_type ):
851
- return False
852
850
left_value = self .left .evaluate (thing )
853
851
right_value = self .right .evaluate (thing )
854
852
if type (left_value ) is not type (right_value ):
855
853
return False
856
854
return operator .eq (left_value , right_value )
857
855
858
856
def _op_ne (self , thing ):
859
- if not DataType .is_compatible (self .left .result_type , self .right .result_type ):
860
- return True
861
857
left_value = self .left .evaluate (thing )
862
858
right_value = self .right .evaluate (thing )
863
859
if type (left_value ) is not type (right_value ):
Original file line number Diff line number Diff line change 33
33
import random
34
34
import unittest
35
35
36
+ import rule_engine .ast as ast
36
37
import rule_engine .engine as engine
38
+ import rule_engine .errors as errors
37
39
38
40
class GitHubIssueTests (unittest .TestCase ):
39
41
def test_number_10 (self ):
@@ -47,3 +49,15 @@ def test_number_10(self):
47
49
rule1 = engine .Rule (rule_text , context = engine .Context ())
48
50
rule2 = engine .Rule (rule_text , context = engine .Context (default_value = None ))
49
51
self .assertEqual (rule1 .evaluate (thing ), rule2 .evaluate (thing ))
52
+
53
+ def test_number_14 (self ):
54
+ context = engine .Context (
55
+ type_resolver = engine .type_resolver_from_dict ({
56
+ 'TEST_FLOAT' : ast .DataType .FLOAT ,
57
+ })
58
+ )
59
+ rule = engine .Rule (
60
+ '(TEST_FLOAT == null ? 0 : TEST_FLOAT) < 42' ,
61
+ context = context
62
+ )
63
+ rule .matches ({'TEST_FLOAT' : None })
You can’t perform that action at this time.
0 commit comments