def test_single_tensor(self):

        X = {0: ['v']}

        X_x_X = {0: {('v', 'v')}}

        self.maxDiff = None
        self.assertEqual(tensor(X, X), X_x_X)
    def test_multidim_tensor(self):

        X = {0: ['v'],
             1: ['a', 'b'],
             2: ['aa', 'ab']}

        X_x_X = {0: {('v', 'v')},
                 1: {('v', 'a'), ('v', 'b'), ('a', 'v'), ('b', 'v')},
                 2: {('v', 'aa'), ('v', 'ab'), ('aa', 'v'), ('ab', 'v'),
                     ('a', 'b'), ('b', 'a'), ('a', 'a'), ('b', 'b')},
                 3: {('a', 'aa'), ('a', 'ab'), ('b', 'aa'), ('b', 'ab'),
                     ('aa', 'a'), ('aa', 'b'), ('ab', 'a'), ('ab', 'b')},
                 4: {('aa', 'aa'), ('aa', 'ab'), ('ab', 'aa'), ('ab', 'ab')}}

        self.maxDiff = None
        self.assertEqual(tensor(X, X), X_x_X)