コード例 #1
0
 def test_with_op(self):
     data = {
         'name': 'Fuu',
         'height': 1.8,
         'weight': 75.6,
     }
     imc = JsonPath.single('$.weight') / JsonPath.single('$.height') ** Const(2)
     self.assertEqual(imc(data), 75.6 / 1.8 ** 2)
コード例 #2
0
 def test_ne_same_const(self):
     var = Vars.const('const') != Vars.const('const')
     optimized_var = var.optimize()
     self.assertTrue(Const.is_false(optimized_var))
コード例 #3
0
 def test_concat(self):
     var = Const('fuu') + Const(' ') + Const('bar')
     value = var(None)
     self.assertEqual(value, 'fuu bar')
コード例 #4
0
 def test_add(self):
     var = Const(2) + Const(3)
     value = var(None)
     self.assertEqual(value, 5)
コード例 #5
0
 def test_eq_same_should_be_true(self):
     predicate = Const(1) == Const(1)
     self.assertTrue(predicate(None))
コード例 #6
0
 def test_mul(self):
     var = Const(2) * Const(3)
     value = var(None)
     self.assertEqual(value, 6)
コード例 #7
0
 def test_le_false(self):
     predicate = Const(2) <= Const(1)
     self.assertFalse(predicate(None))
コード例 #8
0
 def test_lt_when_equals_should_be_false(self):
     predicate = Const(2) < Const(2)
     self.assertFalse(predicate(None))
コード例 #9
0
 def test_or_true(self):
     var = Vars.key('any') | Vars.const(True)
     optimized_var = var.optimize()
     self.assertTrue(Const.is_true(optimized_var))
コード例 #10
0
 def test_ne_same_should_be_false(self):
     predicate = Const(1) != Const(1)
     self.assertFalse(predicate(None))
コード例 #11
0
 def test_cast_str_to_int(self):
     var = Const('1').cast(int)
     value = var(None)
     self.assertIsInstance(value, int)
コード例 #12
0
 def test_eq_diff_should_be_false(self):
     predicate = Const(1) == Const(2)
     self.assertFalse(predicate(None))
コード例 #13
0
 def test_sub_3(self):
     var = Const(2) - Const(3) - Const(5)
     value = var(None)
     self.assertEqual(value, -6)
コード例 #14
0
 def test_gt_true(self):
     predicate = Const(1) > Const(0)
     self.assertTrue(predicate(None))
コード例 #15
0
 def test_ne_diff_should_be_true(self):
     predicate = Const(1) != Const(2)
     self.assertTrue(predicate(None))
コード例 #16
0
 def test_gt_false(self):
     predicate = Const(1) > Const(2)
     self.assertFalse(predicate(None))
コード例 #17
0
 def test_false_and(self):
     var = Vars.const(False) & Vars.key('any')
     optimized_var = var.optimize()
     self.assertTrue(Const.is_false(optimized_var))
コード例 #18
0
 def test_le_true(self):
     predicate = Const(0) <= Const(1)
     self.assertTrue(predicate(None))
コード例 #19
0
 def test_eq_same_key(self):
     var = Vars.key('id') == Vars.key('id')
     optimized_var = var.optimize()
     self.assertTrue(Const.is_true(optimized_var))
コード例 #20
0
 def test_le_when_equals_should_be_true(self):
     predicate = Const(2) <= Const(2)
     self.assertTrue(predicate(None))
コード例 #21
0
 def test_eq_same_const(self):
     var = Vars.const('const') == Vars.const('const')
     optimized_var = var.optimize()
     self.assertTrue(Const.is_true(optimized_var))
コード例 #22
0
 def test_mul_3(self):
     var = Const(2) * Const(3) * Const(4)
     value = var(None)
     self.assertEqual(value, 24)
コード例 #23
0
 def test_ne_same_key(self):
     var = Vars.key('id') != Vars.key('id')
     optimized_var = var.optimize()
     self.assertTrue(Const.is_false(optimized_var))
コード例 #24
0
 def test_truediv_3(self):
     var = Const(10) / Const(2) / Const(2)
     value = var(None)
     self.assertEqual(value, 2.5)
コード例 #25
0
 def test_ne_same_keys(self):
     var = Vars.keys(('parent', 'id',)) != Vars.keys(('parent', 'id',))
     optimized_var = var.optimize()
     self.assertTrue(Const.is_false(optimized_var))
コード例 #26
0
 def test_add_3(self):
     var = Const(2) + Const(3) + Const(5)
     value = var(None)
     self.assertEqual(value, 10)
コード例 #27
0
class Predicates:
    ANY = Const(True)
    NONE = Const(False)