def test_owned_dict_setdefault_0_arguments_raises(self): owner = Owner() owned_dict = OwnedDict({'a': 1, 'b': 2, 'c': 3}) owned_dict.owner = owner with self.assertRaisesRegex(TypeError, ('setdefault expected at least' ' 1 argument, got 0')): owned_dict.setdefault()
def test_owned_dict_setdefault_3_arguments_raises(self): owner = Owner() owned_dict = OwnedDict({'a': 1, 'b': 2, 'c': 3}) owned_dict.owner = owner with self.assertRaisesRegex(TypeError, ('setdefault expected at most 2' ' arguments, got 3')): owned_dict.setdefault(1, 2, 3)
def test_owned_dict_get_notified_thru_setdefault_no_set(self): owner = Owner() owned_dict = OwnedDict({'a': 2, 'b': 3}) owned_dict.owner = owner owned_dict.setdefault('a', 5) self.assertEqual(owned_dict, {'a': 2, 'b': 3}) self.assertEqual(owner.add_records, []) self.assertEqual(owner.del_records, [])
def test_owned_dict_get_notified_thru_setdefault(self): owner = Owner() owned_dict = OwnedDict({'a': 2, 'b': 3}) owned_dict.owner = owner owned_dict.setdefault('c', 20) self.assertEqual(owned_dict, {'a': 2, 'b': 3, 'c': 20}) self.assertEqual(owner.add_records, [AddRecord(owned_dict, 'c', 20)]) self.assertEqual(owner.del_records, [])