Exemple #1
0
 def test_consecutiveStatementsPropagateVariableValues(self, ast):
     new_state = evaluate_and_return_state_variables(
         ast, '''kato=2+4*10
                     poste hundo = kato/6''')
     assert 42 == new_state["kato"]
     assert 7 == new_state["hundo"]
Exemple #2
0
 def test_canAssignReturnValueOfFunctionWithoutAccusativeCase(self, ast):
     variables = evaluate_and_return_state_variables(
         ast, '''sxambaluli signifas revenu nul finu
         poste sxambalulu
         poste asignu gxi al kato''')
     assert variables['kato'] == 0
Exemple #3
0
 def test_canExecuteTwoCommandsInParallel(self, ast):
     variables = evaluate_and_return_state_variables(
         ast, "asignu kvin al kato samtempe asignu kvar al hundo")
     assert 5 == variables["kato"]
     assert 4 == variables["hundo"]
Exemple #4
0
 def test_variablesAreCaseInsensitiveAndSavedAsLowerCase(self, ast):
     new_state = evaluate_and_return_state_variables(ast, "Nigra Kato=7")
     assert new_state["nigra kato"] == 7
Exemple #5
0
 def test_canExecuteTwoCommandsSequentially(self, ast):
     variables = evaluate_and_return_state_variables(
         ast, "asignu kvar al kato poste asignu kvin al hundo")
     assert 4 == variables["kato"]
     assert 5 == variables["hundo"]
Exemple #6
0
 def test_adjectivesJoinNounsToDefineVariableNames(self, ast):
     new_state = evaluate_and_return_state_variables(ast, "nigra kato=7")
     assert 7 == new_state["nigra kato"]
     assert 'kato' not in new_state
Exemple #7
0
 def test_capableOfExpressionAssignmentIntoVariables(self, ast):
     state = evaluate_and_return_state_variables(ast, "kato=2+4*10")
     assert 42 == state["kato"]
Exemple #8
0
 def test_capableOfNumberAssignmentIntoVariables(self, ast):
     variables = evaluate_and_return_state_variables(ast, "kato = 10")
     assert 10 == variables["kato"]
Exemple #9
0
 def test_canNotInvokeNonExistentRoutine(self, ast):
     with pytest.raises(KeyError):
         evaluate_and_return_state_variables(ast, "sxamnalulu kvardek du")