0

I used python version is 2.7.

this is my directory struct.

3kyu/
__init__.py
Calculator.py
tester/
  __init__.py
  Calculator_test.py

and below is i made unittest code and main code.

Calculator.py(main function code)

class Calculator(object):
def evaluate(self, string):
    calc_lt = string.split(' ')
    result = ''
    for val in calc_lt:
        try:
            if val in ('()+-*/') or float(val):
                result += val
        except ValueError:
            return False
    return round(eval(result),4)

and test .py file.

Calculator_test.py(unittest code)

import unittest
from ..Calculator import Calculator as Calc

class Calculator_spec(unittest.TestCase):
    def __init__(self):
        self.Calcs = Calc()

    def test_string_expect(self):
        self.assertFalse(self.Calcs.evaluate("Hello TDD WORLD"))
        self.assertFalse(self.Calcs.evaluate("Hello + TDD * WORLD"))
        self.assertTrue(self.Calcs.evaluate("3 + 4 * 5 / 2 - 7"))

if __name__ == '__main__':
    test_case = Calculator_spec
    test_suite = unittest.TestLoader().loadTestsFromTestCase(test_case)
    unittest.TextTestRunner(verbosity=2).run(test_suite)

The above code is a calculator to calculate strings.

When i run Calculator_test.py... error is

    from ..Calculator import Calculator as Calc
ValueError: Attempted relative import beyond toplevel package

Please let me know what I need to do.

Thank you.

Cian
  • 80
  • 1
  • 10

0 Answers0