Пример #1
0
def test_check_generalized_BAC_CAB_formulas():
    (a, b, c, d, e) = MV.setup('a b c d e')

    assert str(a | (b * c)) == '-(a.c)*b + (a.b)*c'
    assert str(a | (b ^ c)) == '-(a.c)*b + (a.b)*c'
    assert str(a | (b ^ c ^ d)) == '(a.d)*b^c - (a.c)*b^d + (a.b)*c^d'
    #assert str( (a|(b^c))+(c|(a^b))+(b|(c^a)) ) == '0'
    assert str(a * (b ^ c) - b * (a ^ c) + c * (a ^ b)) == '3*a^b^c'
    assert str(a * (b ^ c ^ d) - b * (a ^ c ^ d) + c * (a ^ b ^ d) - d *
               (a ^ b ^ c)) == '4*a^b^c^d'
    assert str((a ^ b) | (c ^ d)) == '-(a.c)*(b.d) + (a.d)*(b.c)'
    assert str(((a ^ b) | c) | d) == '-(a.c)*(b.d) + (a.d)*(b.c)'
    assert str(Ga.com(a ^ b, c
                      ^ d)) == '-(b.d)*a^c + (b.c)*a^d + (a.d)*b^c - (a.c)*b^d'
    assert str(
        (a | (b ^ c)) | (d ^ e)
    ) == '(-(a.b)*(c.e) + (a.c)*(b.e))*d + ((a.b)*(c.d) - (a.c)*(b.d))*e'
    return