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({}) )
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))