def test_removed_in(self): version = '2.0' my_dict = deprecate_keys({'a': 12}, dkey('a', removed_in=version)) with self.assertWarnsRegex( DeprecationWarning, f'Key `a` is deprecated. It will be removed in version {version}. It shouldn\'t be used anymore.' ): self.assertEqual(my_dict['a'], 12)
def test_deprecated_in(self): version = '1.81.1' my_dict = deprecate_keys({'a': 12}, dkey('a', deprecated_in=version)) with self.assertWarnsRegex( DeprecationWarning, f'Key `a` is deprecated since version {version}. It shouldn\'t be used anymore.' ): self.assertEqual(my_dict['a'], 12)
def setUp(self): self.example_case = { 'items': (('a', 12), ('b', 13), ('c', 13), ('d', 14)), 'removed key': 'a', 'replaced key': ('b', 'c'), 'no key': 'f', 'default value': 100 } self.regular_dict = dict(self.example_case['items']) items_for_dkey = (item for item in self.example_case['items'] if item[0] != self.example_case['replaced key'][0]) dkeys = [ dkey(self.example_case['removed key']), dkey(*self.example_case['replaced key']) ] self.deprecated_dict = deprecate_keys(dict(items_for_dkey), *dkeys)
def test_empty_mapping(self): my_dict = deprecate_keys({'a': 12}) warnings.simplefilter("always") with warnings.catch_warnings(record=True) as w: self.assertEqual(12, my_dict['a']) self.assertEqual(len(w), 0)
def test_wrong_new_key(self): with self.assertRaises(ValueError): deprecate_keys({'a': 12}, dkey('b', 'c')) with self.assertRaises(ValueError): deprecate_keys({'a': 12}, dkey('b'))
def test_added_details(self): details = 'Get rid of it!' my_dict = deprecate_keys({'a': 12}, dkey('a', details=details)) with self.assertWarnsRegex(DeprecationWarning, details): self.assertEqual(my_dict['a'], 12)
def test_developer_warning(self): my_dict = deprecate_keys({'a': 12}, dkey('a', warning_type='developer')) with self.assertWarns(DeprecationWarning): self.assertEqual(my_dict['a'], 12)
def test_end_user_warning(self): my_dict = deprecate_keys({'a': 12}, dkey('a', warning_type='end user')) with self.assertWarns(FutureWarning): self.assertEqual(my_dict['a'], 12)
def test_custom_warning_type(self): my_dict = deprecate_keys({'a': 12}, dkey('a', warning_type=UserWarning)) with self.assertWarns(UserWarning): self.assertEqual(my_dict['a'], 12)