def test_filter(self): i = { 'a': 1, 'b': 2, 'c': '4', 'e': '5', 'f': 6, 'g': 7, } with self.assertRaises(ValueError): f = _filter(i, True) o = _filter(i, lambda key, val: isinstance(val, int)) r = { 'a': 1, 'b': 2, 'f': 6, 'g': 7, } self.assertFalse(i is o) self.assertEqual(o, r)
def filter(self, predicate): """ Return a new filtered dict using the given predicate function. Predicate function receives key, value arguments and should return a bool value. """ return _filter(self, predicate)