def test_base_strong_generating_set_2():
    a = IndicesPair("p0, p1", "g0", 'sa')
    with pytest.raises(ValueError):
        a.base_strong_generating_set(False)

    a = IndicesPair("g0, p1", "g0, h2", 'so')
    assert a.base_strong_generating_set(True) == riemann_bsgs
def test_base_strong_generating_set_5():
    a = IndicesPair("p0, p1, v0", "g0, h2, c1", 'sa')
    sym3 = ([0, 1], [Permutation(7)(0, 1)(3, 4), Permutation(7)(1, 2)(4, 5)])
    assert a.base_strong_generating_set(False) == sym3
    sym3 = ([0, 1], [Permutation(7)(0, 1)(3, 4), Permutation(7)(1, 2)(4, 5),
                     Permutation(7)(0, 3)(1, 4)(2, 5)])
    assert a.base_strong_generating_set(True) == sym3

    a = IndicesPair("p0, p1, v0", "g0, h2, c1", 'si')
    asym3 = ([0, 1, 3, 4], [Permutation(0, 1)(6, 7), Permutation(1, 2)(6, 7),
                            Permutation(3, 4)(6, 7), Permutation(4, 5)(6, 7)])
    assert a.base_strong_generating_set(False) == asym3
    asym3 = ([0, 1, 3, 4], [Permutation(0, 1)(6, 7), Permutation(1, 2)(6, 7), Permutation(3, 4)(6, 7),
                            Permutation(4, 5)(6, 7), Permutation(7)(0, 3)(1, 4)(2, 5)])
    assert a.base_strong_generating_set(True) == asym3
def test_base_strong_generating_set_4():
    a = IndicesPair("p0, p1", "g0, h2", 'so')
    asym2 = ([0, 2], [Permutation(0, 1)(4, 5), Permutation(2, 3)(4, 5)])
    assert a.base_strong_generating_set(False) == asym2
    asym2 = ([0, 2], [Permutation(0, 1)(4, 5), Permutation(2, 3)(4, 5), Permutation(5)(0, 2)(1, 3)])
    assert a.base_strong_generating_set(True) == asym2 == riemann_bsgs
def test_base_strong_generating_set_3():
    a = IndicesPair("p0, p1", "g0, h2", 'sa')
    sym2 = ([0], [Permutation(5)(0, 1)(2, 3)])
    assert a.base_strong_generating_set(False) == sym2
    sym2 = ([0], [Permutation(5)(0, 1)(2, 3), Permutation(5)(0, 2)(1, 3)])
    assert a.base_strong_generating_set(True) == sym2