def test_init_different_length(): try: evaluate('[[2];[3,4]]') assert False except ValueError as e: assert str( e ) == 'Attempted to create matrix of different column length: 2 != 1'
def test1(): assert str(evaluate('(3+2i)/(4-3i)')) == '6/25+17/25i' assert str(evaluate('(4+5i)/(2+6i)')) == '19/20-7/20i' assert str(evaluate('-4-5i/-2-6i')) == '-4-7/2i' assert str(evaluate('(-6-3i)/(4+6i)')) == '-21/26+6/13i'
def test2(): assert str(evaluate('[(2-1i)/(-3+6i)]')) == '[[-4/15-1/5i]]'
def test_pow1(): assert str(evaluate('2^-3')) == '1/8' assert str(evaluate('2^(-3)')) == '1/8'
def test_unary4(): assert str(evaluate('+3')) == '3'
def test_unary3(): assert str(evaluate('+1')) == '1'
def test_unary2(): assert str(evaluate('-0.25')) == '-1/4'
def test_unary1(): assert str(evaluate('-3')) == '-3'
def test_op3(): assert str(evaluate('3^(1+1+1)')) == '27'
def test_op2(): assert str(evaluate('16^2')) == '256'
def test_op1(): assert str(evaluate('4^-1')) == '1/4'
def test_complex_parsing(): assert str(evaluate('[[2+3, 3+4] ; [4-4, 5 - 6]]')) == '[[5, 7];[0, -1]]'
def test1(): assert str(evaluate('[2^3]')) == '[[8]]' assert str(evaluate('[2^(-3)]')) == '[[1/8]]'