22 lines
790 B
Python
22 lines
790 B
Python
import unittest
|
|
from abacus import Abacus
|
|
|
|
class AbacusTest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.ab = Abacus()
|
|
self.ab.set_var('code with', 20)
|
|
|
|
def test_var_assignment(self):
|
|
input_string = 'funk=(5+5)/2'
|
|
input_string = Abacus.clean_input(input_string)
|
|
chunks = Abacus.split_chunks(input_string)
|
|
Abacus.validate_chunks(chunks)
|
|
comment = Abacus.get_comment_from_chunks(chunks)
|
|
chunks_wo_comment = Abacus.get_chunks_without_comment(chunks)
|
|
|
|
chunks_wo = self.ab.process_chunks(chunks_wo_comment)
|
|
var, chunks_wo_var = Abacus.get_var_assignment_from_chunks(chunks_wo_comment)
|
|
if var is not None:
|
|
res = Abacus.calculate(''.join(chunks_wo_var))
|
|
self.ab.set_var(var, res) |