예제 #1
0
class MyTestCase(unittest.TestCase):
    def setUp(self) -> None:
        self.calculator = Calculator()

    def test_instantiate_calculator(self):
        self.assertIsInstance(self.calculator, Calculator)

    def test_addition(self):
        test_data = CsvReader('/src/addition_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(
                self.calculator.Add(row['Value 1'], row['Value 2']),
                int(row['Result']))
            self.assertEqual(self.calculator.result, int(row['Result']))

    def test_subtraction(self):
        test_data = CsvReader('/src/subtraction_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(
                self.calculator.Subtract(row['Value 1'], row['Value 2']),
                int(row['Result']))
            self.assertEqual(self.calculator.result, int(row['Result']))

    def test_multiplication(self):
        test_data = CsvReader('/src/Multiply_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(
                self.calculator.Multiply(row['Value 1'], row['Value 2']),
                int(row['Result']))
            self.assertEqual(self.calculator.result, int(row['Result']))

    def test_division(self):
        test_data = CsvReader('/src/division_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(
                self.calculator.Divide(row['Value 1'], row['Value 2']),
                float(row['Result']))
            self.assertEqual(self.calculator.result, float(row['Result']))

    def test_Square(self):
        test_data = CsvReader('/src/square_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(self.calculator.Square(row['Value 1']),
                             int(row['Result']))
            self.assertEqual(self.calculator.result, int(row['Result']))

    def test_SquareRoot(self):
        test_data = CsvReader('/src/square-root_test.csv').data
        pprint(test_data)
        for row in test_data:
            self.assertEqual(self.calculator.Square_root(row['Value 1']),
                             float(row['Result']))
            self.assertEqual(self.calculator.result, float(row['Result']))
def test_add_unknown_numbers_returns_sum_of_numbers() -> None:
    assert Calculator.Add("1,2,3,4,5") == "15"
예제 #3
0
 def test_SemiColonSeperated(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//;\n1;3;4"), 8)
예제 #4
0
 def test_AtTheRateSeperated(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//@\n1@3@8"), 12)
예제 #5
0
 def test_HandleNewLines1(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="1\n,2,3"), 6)
예제 #6
0
 def TestForAddingIntegerAndFloat(self):
     calculator = Calculator()
     first = 2
     second = 3.5
     expectation = 5.5
     self.assertEqual(calculator.Add(first, second), expectation)
예제 #7
0
 def test_DelimitersWithArbitraryLength(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//***\n1***2***3"), 6)
예제 #8
0
 def test_ArbitraryWithMultipleDelimiters(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//***,$,@\n1$2@3***4"), 10)
def test_add_with_delimiter_return_only_sum_of_numbers() -> None:
    assert Calculator.Add("//X\n1X2") == "3"
def test_add_negative_number_return_error_vol2() -> None:
    with pytest.raises(Exception, match=r"Negatives not allowed: -4,-5,-12,-10"):
        Calculator.Add("2,-4,3,-5,-12,3,-10")
def test_add_empty_returns_zero() -> None:
    assert Calculator.Add("") == "0"
def test_add_negative_number_return_error() -> None:
    with pytest.raises(Exception, match=r"Negatives not allowed: -1"):
        Calculator.Add("-1,2")
def test_add_ignore_numbers_bigger_than_1000() -> None:
    assert Calculator.Add("1001,2") == "2"
def test_add_new_line_returns_sum_of_numbers() -> None:
    assert Calculator.Add("1\n2,3") == "6"
def test_add_unknown_numbers_returns_sum_of_numbers_vol3() -> None:
    assert Calculator.Add("10,2,5,22,1,1,105,342") == "488"
예제 #16
0
 def test_TestResult(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="1,2,5"), 8)
예제 #17
0
 def test_MultipleDelimiters(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//$,@\n1$2@3"), 6)
def test_add_with_delimiter_return_only_sum_of_numbers_vol2() -> None:
    assert Calculator.Add("//%\n1%2%3") == "6"
예제 #19
0
 def test_IgnoreGreaterThan1000(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="2,1001"), 2)
def test_add_number_returns_number() -> None:
    assert Calculator.Add("1") == "1"
예제 #21
0
 def TestForAddingTwoFloats(self):
     calculator = Calculator()
     first = 2.5
     second = 3.5
     expectation = 6
     self.assertEqual(calculator.Add(first, second), expectation)
def test_add_two_numbers_returns_sum_of_numbers() -> None:
    assert Calculator.Add("1,2") == "3"
예제 #23
0
 def TestForAddingTwoIntegers(self):
     calculator = Calculator()
     first = 2
     second = 3
     expectation = 5
     self.assertEqual(calculator.Add(first, second), expectation)
예제 #24
0
 def test_correct_adding_float_int(self):
     c = Calculator()
     first = 10
     second = 0.5
     expected_result = 10.5
     self.assertAlmostEqual(expected_result, c.Add(first, second))
예제 #25
0
 def test_HandleNewLines2(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="1,\n2,4"), 7)
예제 #26
0
 def test_correct_adding_float_float(self):
     c = Calculator()
     first = 0.3
     second = 3.4
     expected_result = 3.7
     self.assertAlmostEqual(expected_result, c.Add(first, second))
예제 #27
0
 def test_DollarSeperated(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers="//$\n1$2$3"), 6)
예제 #28
0
 def test_correct_adding_int_int(self):
     c = Calculator()
     first = 20
     second = 25
     expected_result = 45
     self.assertEqual(expected_result, c.Add(first, second))
예제 #29
0
from Calculator import Calculator

CalObj = Calculator()
"""
Run below comment to inspect Object in .so
"""
#print(help(CalObj))

print(CalObj.Add(15, 15))
예제 #30
0
 def test_EmptyStringShouldReturnZero(self):
     c = Calculator()
     self.assertEqual(c.Add(numbers=""), 0)