def coset_construction_from_schreier_tree_test(self, gens):
     identity = gens[0] * gens[0]**-1
     base, strong_gens, chain_generators, schreier_graphs = schreier_sims_algorithm(gens, identity)
     no_errors = True
     for s_g in schreier_graphs[0:-1]:
         coset_inverses_1 = _coset_rep_inverses(s_g, identity)
         coset_inverses_2 = [_coset_rep_inverse(i + 1, s_g, identity) for i in range(len(identity))]
         if coset_inverses_1 != coset_inverses_2:
             no_errors = False
             print(coset_inverses_1)
             print(coset_inverses_2)
     self.assertTrue(no_errors)
 def test_coset_rep_inverses(self):
     identity = Permutation([1,2,3,4])
     b = Permutation([3,2,1,4])
     s_g = [identity,None,b,None]
     self.assertEqual(s_g, _coset_rep_inverses(s_g, identity))