Esempio n. 1
0
    def test_make_dict_special(self):
        Query.register_special('make_dict', lambda value, *args, context, **kwargs: {
            **kwargs, **{i: arg for i, arg in enumerate(args)}
        })

        self.assertEqual(
            {0: True, 1: False, 2: None, 3: 3, 'bob': 'chill', 'jill': [1, 2]},
            Query('$make_dict(true, false, null, 3, bob="chill", jill=[1, 2])').single({})
        )
Esempio n. 2
0
 def test_register_special(self):
     self.assertTrue(Query.register_special("cube", lambda value, *, context: value ** 3))
     self.assertEqual(8, Query("a.$cube").single({"a": 2}))
     self.assertFalse(Query.register_special("cube", lambda value, *, context: value ** 3))