def test_module2(self):
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)

        with self.assertRaises(InsufficientOperands):
            calculator.multiply()
Esempio n. 2
0
class CalculatorTests(TestCase):
    """Class module doc string."""
    def setUp(self):
        """Method doc string."""
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        """Method doc string."""
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        """Method doc string."""
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        """Method doc string."""
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)

    def test_multiplier_call(self):
        """Method doc string."""
        self.multiplier.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.multiply()

        self.multiplier.calc.assert_called_with(1, 2)

    def test_divider_call(self):
        """Method doc string."""
        self.divider.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.divide()

        self.divider.calc.assert_called_with(1, 2)
Esempio n. 3
0
class CalculatorTests(TestCase):
    """Unit test for initiating the calculator"""
    def setUp(self):
        """Initializes the calculator"""
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        """Tests if there's sufficient operands"""
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        """Test if the add functions adds in correct order"""
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        """Test if the subtract functions adds in correct order"""
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)

    def test_multiplier_call(self):
        """Test if the multiply functions adds in correct order"""
        self.multiplier.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.multiply()

        self.multiplier.calc.assert_called_with(1, 2)

    def test_divider_call(self):
        """Test if the divide functions adds in correct order"""
        self.divider.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.divide()

        self.divider.calc.assert_called_with(1, 2)
Esempio n. 4
0
class CalculatorTests(TestCase):
    """Tests for calculator method"""
    def setUp(self):
        """setup for calculator tests"""
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        """error raised when only one number entered"""
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        """tests adder method is called correctly"""
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        """tests subtracter method is called correctly"""
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)

    def test_divider_call(self):
        """tests divider method is called correctly"""
        self.divider.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.divide()

        self.divider.calc.assert_called_with(1, 2)

    def test_multiplier_call(self):
        """tests multiplier method is called correctly"""
        self.multiplier.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.multiply()

        self.multiplier.calc.assert_called_with(1, 2)
Esempio n. 5
0
class CalculatorTests(TestCase):
    def setUp(self):
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_multiplier(self):
        lis = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        answers = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144]
        index = 0
        for nums in enumerate(lis, 1):
            x, y = nums
            self.calculator.enter_number(x)
            self.calculator.enter_number(y)
            result = self.calculator.multiply()
            self.assertEqual(answers[index], result)
            index += 1

    def test_divider(self):
        lis = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144]
        answers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        index = 0
        for nums in enumerate(lis, 1):
            x, y = nums
            self.calculator.enter_number(y)
            self.calculator.enter_number(x)
            result = self.calculator.divide()
            self.assertEqual(answers[index], result)
            index += 1

    def test_insufficient_operands(self):
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)
Esempio n. 6
0
class CalculatorTests(TestCase):
    def setUp(self):
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        self.adder.calc = MagicMock(return_value=(2 + 1))

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        result = self.calculator.add()

        self.adder.calc.assert_called_with(2, 1)
        self.assertEqual(result, (2 + 1))

    def test_subtracter_call(self):
        self.subtracter.calc = MagicMock(return_value=(2 - 1))

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        result = self.calculator.subtract()

        self.subtracter.calc.assert_called_with(2, 1)
        self.assertEqual(result, (2 - 1))

    def test_multiplier_call(self):
        self.multiplier.calc = MagicMock(return_value=(2 * 1))

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        result = self.calculator.multiply()

        self.multiplier.calc.assert_called_with(2, 1)
        self.assertEqual(result, (2 * 1))

    def test_divider_call(self):
        self.divider.calc = MagicMock(return_value=(2 / 1))

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        result = self.calculator.divide()

        self.divider.calc.assert_called_with(2, 1)
        self.assertEqual(result, (2 / 1))
Esempio n. 7
0
class CalculatorTests(TestCase):
    def setUp(self):
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(2, 1)

    def test_subtracter_call(self):
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(2, 1)

    def test_multiplier_call(self):
        # let MagicMock() method mimic multiplier.calc() method
        self.multiplier.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.multiply()

        self.multiplier.calc.assert_called_with(2, 1)

    def test_divider_call(self):
        # let MagicMock() method mimic divider.calc() method
        self.divider.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.divide()

        self.divider.calc.assert_called_with(2, 1)
Esempio n. 8
0
class CalculatorTests(TestCase):
    def setUp(self):
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()
        # Numbers are inserted at index 0.  Either switch this or switch the
        # calc function call order.
        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)

    def test_multiplier_call(self):
        self.multiplier.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.multiply()

        self.multiplier.calc.assert_called_with(1, 2)

    def test_divider_call(self):
        self.divider.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.divide()

        self.divider.calc.assert_called_with(1, 2)
    def test_module(self):
        """
        Test the Adder, Subtracter, Multiplier, Divider classes and
        the Calculator class concurrently.
        """
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
Esempio n. 10
0
    def test_module(self):
        """Test that a sequence of operations produces the expected result."""
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)

        with self.assertRaises(InsufficientOperands):
            calculator.add()
Esempio n. 11
0
    def test_module(self):

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        result = calculator.multiply()

        self.assertEqual((2*5), result)

        calculator.enter_number(46)

        result = calculator.add()

        self.assertEqual(result, (46+(2*5)))

        calculator.enter_number(8)

        result = calculator.divide()

        self.assertEqual(result, (8 / (46+(2*5))))

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(result, (1 - (8 / (46+(2*5)))))
Esempio n. 12
0
    def test_module(self):

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        result_add = calculator.add()

        self.assertEqual(56, result_add)

        calculator.enter_number(8)

        result_divide = calculator.divide()

        self.assertEqual(7, result_divide)

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
Esempio n. 13
0
class CalculatorTests(unittest.TestCase):
    def setUp(self):
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)
Esempio n. 14
0
    def test_module(self):
        '''Runs the actual integration test, going through all calculator calls
        and testing the end result'''

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())
        calculator.enter_number(5)
        calculator.enter_number(2)
        calculator.multiply()
        calculator.enter_number(46)
        calculator.add()
        calculator.enter_number(8)
        calculator.divide()
        calculator.enter_number(1)
        result = calculator.subtract()
        assert result == 6
Esempio n. 15
0
 def test_module(self):
     """
     Testing the calculator by calling each methods
     """
     calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())
     calculator.enter_number(5)
     calculator.enter_number(2)
     calculator.multiply()
     calculator.enter_number(46)
     calculator.add()
     calculator.enter_number(8)
     calculator.divide()
     calculator.enter_number(1)
     result = calculator.subtract()
     self.assertEqual(6, result)
Esempio n. 16
0
    def test_module(self):
        """
        Tests all calculator modules work together nicely and the correct
        module is called for the given calculation operation.
        """
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider(),
                                Squarer())

        calculator.enter_number(2)
        calculator.square()  # result = 4

        calculator.enter_number(3)
        calculator.multiply()  # result = 12

        calculator.enter_number(8)
        calculator.add()  # result = 20

        calculator.enter_number(4)
        calculator.divide()  # result = 5

        calculator.enter_number(6)
        result = calculator.subtract()  # result = -1

        self.assertEqual(-1, result)
    def test_module_zero_division_error(self):
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.subtract()

        calculator.enter_number(0)

        with self.assertRaises(ZeroDivisionError):
            calculator.divide()
Esempio n. 18
0
    def test_module(self):
        """The first of... one test module(s). lol lazy."""
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
    def test_module(self):
        "Tests Addition, multiplication, subtraction, division" ""
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
    def test_module(self):
        '''doc string'''
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(56)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(0, result)
Esempio n. 21
0
    def test_module(self):
        """ Tests each module against an expected output to ensure accuracy. """
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        # Tests
        # Add:
        self.assertEqual(7, calculator.add())

        # Subtract:
        calculator.enter_number(5)
        self.assertEqual(2, calculator.subtract())

        # Multiply:
        calculator.enter_number(5)
        self.assertEqual(10, calculator.multiply())

        # Divide:
        calculator.enter_number(1)
        self.assertEqual(10, calculator.divide())
    def test_module(self):

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        # Tests
        # Add:
        self.assertEqual(7, calculator.add())

        # Subtract:
        calculator.enter_number(5)
        self.assertEqual(2, calculator.subtract())

        # Multiply:
        calculator.enter_number(5)
        self.assertEqual(10, calculator.multiply())

        # Divide:
        calculator.enter_number(1)
        self.assertEqual(10, calculator.divide())
Esempio n. 23
0
class CalculatorTests(TestCase):
    """
    This class tests mocking
    """
    def setUp(self):
        """
        This method initializes variables
        """
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        """
        This method tests InsufficientOperands
        """
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        """
        This method tests mock adder
        """
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        """
        This method tests mock subtracter
        """
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)
Esempio n. 24
0
    def test_module(self):
        """tests the entire calculator program"""

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
    def test_module(self):
        """Tests all calculator modules."""

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()  #10

        calculator.enter_number(46)

        calculator.add()  #56

        calculator.enter_number(8)

        calculator.divide()  #7

        calculator.enter_number(1)

        result = calculator.subtract()  #6

        self.assertEqual(6, result)  #Result should equal 6
    def test_module(self):
        """Test that calculator performs operations as expected"""

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
    def test_module(self):
        """Initializes the calculator, operates with various ints"""

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        calculator.enter_number(1)

        result = calculator.subtract()

        self.assertEqual(6, result)
Esempio n. 28
0
    def test_module(self):

        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        # STACK: []
        calculator.enter_number(5)
        calculator.enter_number(2)
        result = calculator.multiply()
        self.assertEqual(10, result)

        # STACK: [10]
        calculator.enter_number(46)
        result = calculator.add()
        self.assertEqual(56, result)

        # STACK: [56]
        calculator.enter_number(8)
        result = calculator.divide()
        self.assertEqual(7, result)

        # STACK: [7]
        calculator.enter_number(1)
        result = calculator.subtract()
        self.assertEqual(6, result)
    def test_module_insufficient_operands(self):
        calculator = Calculator(Adder(), Subtracter(), Multiplier(), Divider())

        calculator.enter_number(5)
        calculator.enter_number(2)

        calculator.multiply()

        calculator.enter_number(46)

        calculator.add()

        calculator.enter_number(8)

        calculator.divide()

        with self.assertRaises(InsufficientOperands):
            calculator.subtract()
class CalculatorTests(TestCase):
    """Series of Calculator Tests"""
    def setUp(self):
        """Test case that setups the other test cases from range -10 to 10"""
        self.adder = Adder()
        self.subtracter = Subtracter()
        self.multiplier = Multiplier()
        self.divider = Divider()

        self.calculator = Calculator(self.adder, self.subtracter,
                                     self.multiplier, self.divider)

    def test_insufficient_operands(self):
        """Test insufficient operands"""
        self.calculator.enter_number(0)

        with self.assertRaises(InsufficientOperands):
            self.calculator.add()

    def test_adder_call(self):
        """Test Case Adds Two Numbers"""
        self.adder.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.add()

        self.adder.calc.assert_called_with(1, 2)

    def test_subtracter_call(self):
        """Test Case Subtracts Two Numbers"""
        self.subtracter.calc = MagicMock(return_value=0)

        self.calculator.enter_number(1)
        self.calculator.enter_number(2)
        self.calculator.subtract()

        self.subtracter.calc.assert_called_with(1, 2)