def test_permissive(self): variables = Variables([0, 1]) # relabels a non-existant variable 2 variables.relabel({0: 'a', 1: 'b', 2: 'c'}) self.assertEqual(variables, Variables('ab'))
def test_permissive_deprecated_api(self): variables = Variables([0, 1]) with self.assertWarns(DeprecationWarning): variables.relabel({0: 'a', 1: 'b', 2: 'c'}) self.assertEqual(variables, Variables('ab'))
def test_relabel_conflict(self): variables = Variables(self.iterable) iterable = self.iterable # want a relabelling with identity relabels and that maps to the same # set of labels as the original target = [iterable[-i] for i in range(len(iterable))] mapping = dict(zip(iterable, target)) variables.relabel(mapping) self.assertEqual(variables, target)
def test_relabel_not_hashable(self): variables = Variables(self.iterable) mapping = {v: [v] for v in variables} with self.assertRaises(ValueError): variables.relabel(mapping)