Ejemplo n.º 1
0
def test_eval_no_operator_detail():
    with raises(InvalidOperator) as excinfo:
        evaluate(parse('(2 3)'))

    assert str(excinfo.value) == 'invalid operator: 2'
Ejemplo n.º 2
0
def test_eval_sub():
    assert evaluate(parse('(- 2 3)')) == -1
Ejemplo n.º 3
0
def test_eval_numexp_inner():
    assert evaluate(parse('(+ 2 (* 3 4))')) == 14
Ejemplo n.º 4
0
def test_eval_no_operator2():
    with raises(InvalidOperator):
        evaluate(parse('(2 3)'))
Ejemplo n.º 5
0
def test_eval_lt_true():
    assert evaluate(parse('(< 2 3)')) == 1
Ejemplo n.º 6
0
def test_eval_numexp():
    assert evaluate(parse('(+ 2 3)')) == 5
Ejemplo n.º 7
0
def test_eval_too_many_args():
    with raises(TooManyArguments):
        evaluate(parse('(* 1 2 3)'))
Ejemplo n.º 8
0
def test_eval_div_by_zero():
    with raises(ZeroDivisionError):
        evaluate(parse('(/ 6 0)'))
Ejemplo n.º 9
0
def test_plus_number():
    with raises(InvalidOperator):
        evaluate(parse('+1'))
Ejemplo n.º 10
0
def test_eval_too_few_args():
    with raises(MissingArguments):
        evaluate(parse('(* 1)'))
Ejemplo n.º 11
0
def test_eval_gt_false_2():
    assert evaluate(parse('(> 3 4)')) == 0
Ejemplo n.º 12
0
def test_eval_gt_true():
    assert evaluate(parse('(> 4 3)')) == 1
Ejemplo n.º 13
0
def test_eval_lt_false_2():
    assert evaluate(parse('(< 3 2)')) == 0
Ejemplo n.º 14
0
def test_eval_div():
    assert evaluate(parse('(/ 6 2)')) == 3
Ejemplo n.º 15
0
def test_eval_int():
    assert evaluate(parse('3')) == 3
Ejemplo n.º 16
0
def test_eval_div_returns_int():
    assert evaluate(parse('(/ 6 4)')) == 1
Ejemplo n.º 17
0
def test_eval_op():
    import operator
    assert evaluate(parse('+')) == operator.add
Ejemplo n.º 18
0
def test_eval_eq_true():
    assert evaluate(parse('(= 2 2)')) == 1
Ejemplo n.º 19
0
def test_eval_eq_false():
    assert evaluate(parse('(= 2 3)')) == 0