Example #1
0
    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'))
Example #2
0
    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'))
Example #3
0
    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)
Example #4
0
 def test_relabel_not_hashable(self):
     variables = Variables(self.iterable)
     mapping = {v: [v] for v in variables}
     with self.assertRaises(ValueError):
         variables.relabel(mapping)