def test_Equivalent():
    (A, B, C) = list(map(Boolean, symbols('A,B,C')))
    assert (Equivalent(A, B) == Equivalent(B, A) == Equivalent(A, B, A))
    assert (Equivalent() == True)
    assert (Equivalent(A, A) == Equivalent(A) == True)
    assert (Equivalent(True, True) == Equivalent(False, False) == True)
    assert (Equivalent(True, False) == Equivalent(False, True) == False)
    assert (Equivalent(A, True) == A)
    assert (Equivalent(A, False) == Not(A))
    assert (Equivalent(A, B, True) == (A & B))
    assert (Equivalent(A, B, False) == ((~ A) & (~ B)))
def test_Equivalent():
    (A, B, C) = list(map(Boolean, symbols('A,B,C')))
    assert (Equivalent(A, B) == Equivalent(B, A) == Equivalent(A, B, A))
    assert (Equivalent() == True)
    assert (Equivalent(A, A) == Equivalent(A) == True)
    assert (Equivalent(True, True) == Equivalent(False, False) == True)
    assert (Equivalent(True, False) == Equivalent(False, True) == False)
    assert (Equivalent(A, True) == A)
    assert (Equivalent(A, False) == Not(A))
    assert (Equivalent(A, B, True) == (A & B))
    assert (Equivalent(A, B, False) == ((~ A) & (~ B)))