コード例 #1
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_err_missing_close_bracket():
    with pytest.raises(ParseError):
        SymbolTreeNode(get_symbols('(1'))
コード例 #2
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_stacked_ops2():
    assert SymbolTreeNode(get_symbols('2*(3+6)*7/2')).calculate() == 63
コード例 #3
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_stacked_ops6():
    assert SymbolTreeNode(
        get_symbols('2^3*(3+6)*7/2-(10^2+(1*2))')).calculate() == 150
コード例 #4
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_multiply():
    assert SymbolTreeNode(get_symbols('1 * 3')).calculate() == 3
コード例 #5
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_power():
    assert SymbolTreeNode(get_symbols('2 ^ 3')).calculate() == 8
コード例 #6
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_multiply_plus():
    assert str(SymbolTreeNode(get_symbols('1 * +1'))) == "[1, '*', 1]"
コード例 #7
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_add():
    assert SymbolTreeNode(get_symbols('1 + 1')).calculate() == 2
コード例 #8
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_split_add():
    assert str(SymbolTreeNode(
        get_symbols('1 1 + 1 + 1'))) == "[[1, 1], '+', [1, '+', 1]]"
コード例 #9
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_split_add_subtract():
    assert str(SymbolTreeNode(
        get_symbols('1 1 - 1 + 1'))) == "[[[1, 1], '-', 1], '+', 1]"
コード例 #10
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_nested_brackets_2deep():
    assert str(SymbolTreeNode(
        get_symbols('(1 3.1 (2 9 (1 0)))'))) == "[1, 3.1, [2, 9, [1, 0]]]"
コード例 #11
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_brackets_many_sets():
    assert str(SymbolTreeNode(get_symbols(
        '(1 3 7) (2 9) 4 (1 0)'))) == "[[1, 3, 7], [2, 9], 4, [1, 0]]"
コード例 #12
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_nested_brackets_1deep():
    assert str(SymbolTreeNode(
        get_symbols('1 3.1 (2 9)'))) == "[1, 3.1, [2, 9]]"
コード例 #13
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_remove_enclosing_brackets():
    assert str(SymbolTreeNode(get_symbols('(1 1)'))) == "[1, 1]"
コード例 #14
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_err_invalid_op():
    with pytest.raises(ParseError):
        SymbolTreeNode(get_symbols('¬'))
コード例 #15
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_double_minus():
    assert str(SymbolTreeNode(get_symbols('1 - -1'))) == "[1, '-', -1]"
コード例 #16
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_split_multiply():
    assert str(SymbolTreeNode(
        get_symbols('1 1 * 1 * 1'))) == "[[1, 1], '*', [1, '*', 1]]"
コード例 #17
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_multiply_minus():
    assert str(SymbolTreeNode(get_symbols('1 * -1'))) == "[1, '*', -1]"
コード例 #18
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_split_divide():
    assert str(SymbolTreeNode(
        get_symbols('1 1 / 1 / 1'))) == "[[1, 1], '/', [1, '/', 1]]"
コード例 #19
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_minus_multiply():
    with pytest.raises(ParseError):
        SymbolTreeNode(get_symbols('1 - * 1'))
コード例 #20
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_split_power():
    assert str(SymbolTreeNode(
        get_symbols('1 1 ^ 1 ^ 1'))) == "[[1, 1], '^', [1, '^', 1]]"
コード例 #21
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_add_minus_nested():
    assert SymbolTreeNode(get_symbols('1 + 1 - 1')).calculate() == 1
コード例 #22
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_all_ops_order():
    assert str(SymbolTreeNode(get_symbols('(1*2^3+4-5/6)'))
               ) == "[[1, '*', [2, '^', 3]], '+', [4, '-', [5, '/', 6]]]"
コード例 #23
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_divide():
    assert SymbolTreeNode(get_symbols('15 / 3')).calculate() == 5
コード例 #24
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_err_double_op2():
    with pytest.raises(ParseError):
        SymbolTreeNode(get_symbols('1 * ^ 1'))
コード例 #25
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_mult_add_mult():
    assert SymbolTreeNode(get_symbols('2*3 + 6*7')).calculate() == 48
コード例 #26
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_triple_plus():
    assert str(SymbolTreeNode(get_symbols('1 + + +1'))) == "[1, '+', 1]"
コード例 #27
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_stacked_ops4():
    assert SymbolTreeNode(get_symbols('2^3*(3+6)*7/2-100')).calculate() == 152
コード例 #28
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_handle_plus_minus():
    assert str(SymbolTreeNode(get_symbols('1 + -1'))) == "[1, '+', -1]"
コード例 #29
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_calculate_no_truncate_on_divide():
    assert SymbolTreeNode(get_symbols('3/2')).calculate() == 1.5
コード例 #30
0
ファイル: test_strcalc.py プロジェクト: mjftw/sandbox
def test_SymbolTreeNode_repr():
    assert str(SymbolTreeNode(get_symbols('1 + 1'))) == "[1, '+', 1]"