Exemplo n.º 1
0
Arquivo: test.py Projeto: 5j9/kalk
def test_ignore_underscore_in_numbers():
    assert evaluate('1_2.3_4e0_6J') == 12340000j
Exemplo n.º 2
0
Arquivo: test.py Projeto: 5j9/kalk
def test_eulers_number():
    assert evaluate('e') is e
Exemplo n.º 3
0
Arquivo: test.py Projeto: 5j9/kalk
def test_complex():
    assert evaluate('1+2j 0j -') == 1 + 2j
Exemplo n.º 4
0
Arquivo: test.py Projeto: 5j9/kalk
def test_capital_e():
    assert evaluate('2E-2') == .02
Exemplo n.º 5
0
Arquivo: test.py Projeto: 5j9/kalk
def test_thousand_separator():
    assert evaluate('1,234 5 +') == 1239
Exemplo n.º 6
0
Arquivo: test.py Projeto: 5j9/kalk
def test_float_without_leading_zero():
    assert evaluate('.9') == .9
Exemplo n.º 7
0
Arquivo: test.py Projeto: 5j9/kalk
def test_zero_division(mocked_print):
    assert evaluate('1 0 /') is None
    mocked_print.assert_called_once_with('ZeroDivisionError')
Exemplo n.º 8
0
Arquivo: test.py Projeto: 5j9/kalk
def test_chr(mocked_print):
    assert evaluate('65.1 chr') == 65.1
    mocked_print.assert_called_once_with('A')
Exemplo n.º 9
0
Arquivo: test.py Projeto: 5j9/kalk
def test_repeat():
    APPEND(7)
    assert evaluate('rep +') == 14
Exemplo n.º 10
0
Arquivo: test.py Projeto: 5j9/kalk
def test_sto_rcl(mocked_print):
    CLEAR()
    assert evaluate('1 2 sto 3 4 + 2 rcl +') == 8
    assert evaluate('1 rcl +') is None
    mocked_print.assert_called_once_with('KeyError')
Exemplo n.º 11
0
Arquivo: test.py Projeto: 5j9/kalk
def test_empty():
    CLEAR()
    assert evaluate('') is None
    APPEND(1)
    assert evaluate('') == 1
Exemplo n.º 12
0
Arquivo: test.py Projeto: 5j9/kalk
def test_pop():
    CLEAR()
    APPEND(7)
    APPEND(8)
    assert evaluate('1 del') == 7
    assert STACK == [7]
Exemplo n.º 13
0
Arquivo: test.py Projeto: 5j9/kalk
def test_copy_paste(copy_mock):
    assert evaluate('pst') == 0j
    evaluate('cp')
    copy_mock.assert_called_once_with('0j')
Exemplo n.º 14
0
Arquivo: test.py Projeto: 5j9/kalk
def test_add():
    assert evaluate('1 +2 +') == 3
Exemplo n.º 15
0
Arquivo: test.py Projeto: 5j9/kalk
def test_percent():
    assert evaluate('1 2 %%') == 100.0
Exemplo n.º 16
0
Arquivo: test.py Projeto: 5j9/kalk
def test_distance():
    assert evaluate('0 1 0 0 dist2') == 1.0
Exemplo n.º 17
0
Arquivo: test.py Projeto: 5j9/kalk
def test_persian_digits():
    assert evaluate('۱ ۲ /') == 0.5
Exemplo n.º 18
0
Arquivo: test.py Projeto: 5j9/kalk
def test_sum_fsum():
    CLEAR()
    assert evaluate('1 2 3sum') == 6
    assert evaluate('6fsum') == 12.0
Exemplo n.º 19
0
Arquivo: test.py Projeto: 5j9/kalk
def test_float():
    assert evaluate('1.2 1e2 *') == 120
Exemplo n.º 20
0
Arquivo: test.py Projeto: 5j9/kalk
def test_swap():
    CLEAR()
    APPEND(1)
    APPEND(2)
    evaluate('<>')
    assert STACK == [2, 1]
Exemplo n.º 21
0
Arquivo: test.py Projeto: 5j9/kalk
def test_cos():
    assert evaluate('pi cos') == -1.0
Exemplo n.º 22
0
Arquivo: test.py Projeto: 5j9/kalk
def test_leading_positive_sign():
    assert evaluate('+1 -1 +') == 0
Exemplo n.º 23
0
Arquivo: test.py Projeto: 5j9/kalk
def test_factorial():
    assert evaluate('3!') == 6
Exemplo n.º 24
0
Arquivo: test.py Projeto: 5j9/kalk
def test_negative():
    assert evaluate('-1 -2 -') == 1
Exemplo n.º 25
0
Arquivo: test.py Projeto: 5j9/kalk
def test_invalid_op(mocked_print):
    CLEAR()
    assert evaluate('sin') is None
    mocked_print.assert_called_once_with('Error: not enough arguments')
Exemplo n.º 26
0
Arquivo: test.py Projeto: 5j9/kalk
def test_syntax_error(mocked_print):
    assert evaluate('a') is None
    mocked_print.assert_called_once_with('SyntaxError')
Exemplo n.º 27
0
Arquivo: test.py Projeto: 5j9/kalk
def test_preserve_stack_on_binary_fail(mocked_print):
    CLEAR()
    APPEND(1)
    evaluate('*')
    assert STACK == [1]
    mocked_print.assert_called_once_with('Error: not enough arguments')