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