class CalculatorTest(unittest.TestCase): """unitetestモジュールの簡単な実行例その1。""" @classmethod def setUpClass(cls): pass @classmethod def tearDownClass(cls): pass def setUp(self): self._calculator = Calculator() def tearDown(self): pass def test_add(self): self.assertEqual(self._calculator.add(1.5, 1.5), 3) def test_subtract(self): self.assertEqual(self._calculator.subtract(1.5, 1), 0.5) def test_multiply(self): self.assertEqual(self._calculator.multiply(1.5, 1.5), 2.25) def test_divide(self): self.assertEqual(self._calculator.divide(1.5, 0.3), 5)
from src.calculator import Calculator cal = Calculator() print(cal.add(1, 2))
def test_calculator_add_method(self): calc = Calculator() result = calc.add(2, 2) self.assertEqual(4, result)
from src.calculator import Calculator from src.operations.add import AddOperation from src.operations.sub import SubOperation calc = Calculator(AddOperation(), SubOperation()) op1 = calc.add(2, 5, True) op2 = calc.sub(5, 3, True) print(op1) print(op2)
def test_add(): calculator = Calculator() assert calculator.add(1, 2) == 3 assert calculator.add(2, 2) == 4
class TestCalculator(unittest.TestCase): calculator = None @classmethod def setUpClass(cls): print('') print('setUpClass') @classmethod def tearDownClass(cls): print('') print('tearDownClass') def setUp(self): self.calculator = Calculator() print('') print('setUp') # execute after every tests case function run. def tearDown(self): # release the Calculator object. if self.calculator is not None: self.calculator = None print('') print('tearDown') # below are function that tests Calculator class's plus, minus, multiple and divide functions. def testInstantiateCalculator(self): self.assertIsInstance(self.calculator, Calculator) def testAddition(self): rows = readCSV("tests/test_cases/Addition.csv") for row in rows: result = float(row["Result"]) x = float(row["Value 1"]) y = float(row["Value 2"]) self.assertEqual(self.calculator.add(x, y), result) def testSubtraction(self): rows = readCSV("tests/test_cases/Subtraction.csv") for row in rows: result = float(row["Result"]) y = float(row["Value 1"]) x = float(row["Value 2"]) self.assertEqual(self.calculator.subtract(x, y), result) def testDivision(self): self.assertRaises(ZeroDivisionError, self.calculator.divide, 1, 0) rows = readCSV("tests/test_cases/Division.csv") for row in rows: result = float(row["Result"]) y = float(row["Value 1"]) x = float(row["Value 2"]) self.assertAlmostEqual(self.calculator.divide(x, y), result) def testMultiplication(self): rows = readCSV("tests/test_cases/Multiplication.csv") for row in rows: result = float(row["Result"]) x = float(row["Value 1"]) y = float(row["Value 2"]) self.assertAlmostEqual(self.calculator.multiply(x, y), result) def testSquare(self): rows = readCSV("tests/test_cases/Square.csv") for row in rows: result = float(row["Result"]) x = float(row["Value 1"]) self.assertAlmostEqual(self.calculator.square(x), result) def testSquareRoot(self): rows = readCSV("tests/test_cases/SquareRoot.csv") for row in rows: result = float(row["Result"]) x = float(row["Value 1"]) self.assertAlmostEqual(self.calculator.squareRoot(x), result) def testResultProperty(self): self.calculator.results.clear() self.assertEqual(self.calculator.results, [])
def test_add_method_calculator(self): calculator = Calculator() self.assertEqual(calculator.add(2, 2), 4) self.assertEqual(calculator.result, 4)