def test_divide(self):

        mockService = Service()

        #test case divisor is zero
        mockService.bad_random = mock.Mock(return_value=4)
        self.assertRaises(ZeroDivisionError, mockService.divide, 0)

        #test case dividend is zero
        mockService.bad_random = mock.Mock(return_value=0)
        quotient = mockService.divide(4)
        self.assertTrue(quotient == 0)

        #test case dividend and divisor both same non zero value
        mockService.bad_random = mock.Mock(return_value=7)
        quotient = mockService.divide(7)
        self.assertTrue(quotient == 1)

        #test case non zero dividend and divisor different non zero value
        mockService.bad_random = mock.Mock(return_value=6)
        quotient = mockService.divide(3)
        self.assertTrue(quotient == 2)

        #test case non zero dividend and divisor not a number
        mockService.bad_random = mock.Mock(return_value=9)
        self.assertRaises(TypeError, mockService.divide, 'string')
    def test_complicated_function(self, mock_service):
        # values for divide
        y = [-7, 0, 3]
        # case 1
        random = mock_service.bad_random.return_value = 49
        mock_service.divide.return_value = random / y[0]
        mock_service.complicated_function.return_value = Service.divide(
            y[0]), Service.bad_random() % 2

        ret = Service.complicated_function(y[0])
        print(ret)
        assert ret == (-7.0, 1)
        # case 2
        with pytest.raises(ZeroDivisionError):
            mock_service.divide.return_value = random / y[1]
        # will be previous value of -7.0 b/c error thrown
        mock_service.complicated_function.return_value = Service.divide(
            y[1]), Service.bad_random() % 2

        ret1 = Service.complicated_function(y[1])
        print(ret1)
        assert ret1 == (-7.0, 1)
        # case 3
        mock_service.divide.return_value = random / y[2]
        mock_service.complicated_function.return_value = Service.divide(
            y[2]), Service.bad_random() % 2

        ret2 = Service.complicated_function(y[2])
        print(ret2)
        assert ret2 == (16.333333333333332, 1)
    def test_bad_random(self):
        mockService = Service()

        #test case good data
        mockData = "1\n2\n3\n4\n5\n6\n7\n8\n9\n10"
        with patch('service.open', mock_open(read_data=mockData)):
            mockService.bad_random = mock.Mock(return_value=5)
            badNumber = Service.bad_random()
            fileLines = mockData.count('\n') + 1

        self.assertTrue(0 <= badNumber <= fileLines)

        #test case file not found
        self.assertRaises(FileNotFoundError, Service.bad_random)

        #test case empty file
        mockData = ""
        with patch('service.open', mock_open(read_data=mockData)):
            fileLines = mockData.count('\n') + 1

        self.assertTrue(fileLines == 1)
        self.assertRaises(FileNotFoundError, Service.bad_random)

        #test case not a number
        mockData = "A\nB\nC\nD\nE"
        with patch('service.open', mock_open(read_data=mockData)):
            fileLines = mockData.count('\n') + 1

        self.assertTrue(fileLines == 5)
        self.assertRaises(FileNotFoundError, Service.bad_random)
 def test_complicated_function(self):
     ser = Service()
     ser.bad_random = mock.Mock(return_value=15)
     re = ser.complicated_function(3)
     assert re == (5, 1)
     ser.bad_random = mock.Mock(return_value=15)
     self.assertRaises(ZeroDivisionError, ser.complicated_function,0)      
	def test_bad_random(self, randintMock, mockOpen):
		# integers
		mockOpen.return_value = MockFile([1, 4, 7])
		randintMock.return_value = 2
		assert Service.bad_random() == 2
		randintMock.assert_called_once_with(0, 2)
		randintMock.reset_mock()
		
		# empty
		mockOpen.return_value = MockFile([])
		randintMock.return_value = -1
		assert Service.bad_random() == -1
		randintMock.assert_called_once_with(0, -1)
		randintMock.reset_mock()
		
		# float
		mockOpen.return_value = MockFile([5.2])
		randintMock.return_value = 0
		assert Service.bad_random() == 0
		randintMock.assert_called_once_with(0, 0)
		randintMock.reset_mock()
		
		# non-numeric values
		mockOpen.return_value = MockFile([1, "a", 7])
		self.assertRaises(ValueError, Service.bad_random)
		mockOpen.reset_mock()
    def test_complicated_function(self, mock_service):
        # values for divide
        y = [-7, 0, 3]
        # case 1
        random = mock_service.bad_random.return_value = 49
        mock_service.divide.return_value = random / y[0]
        mock_service.complicated_function.return_value = Service.divide(y[0]), Service.bad_random() % 2

        ret = Service.complicated_function(y[0])
        print(ret)
        assert ret == (-7.0, 1)
        # case 2
        with pytest.raises(ZeroDivisionError):mock_service.divide.return_value = random / y[1]
        # will be previous value of -7.0 b/c error thrown
        mock_service.complicated_function.return_value = Service.divide(y[1]), Service.bad_random() % 2

        ret1 = Service.complicated_function(y[1])
        print(ret1)
        assert ret1 == (-7.0, 1)
        # case 3
        mock_service.divide.return_value = random / y[2]
        mock_service.complicated_function.return_value = Service.divide(y[2]), Service.bad_random() % 2

        ret2 = Service.complicated_function(y[2])
        print(ret2)
        assert ret2 == (16.333333333333332, 1)
    def test_bad_random(self, randintMock, mockOpen):
        # integers
        mockOpen.return_value = MockFile([1, 4, 7])
        randintMock.return_value = 2
        assert Service.bad_random() == 2
        randintMock.assert_called_once_with(0, 2)
        randintMock.reset_mock()

        # empty
        mockOpen.return_value = MockFile([])
        randintMock.return_value = -1
        assert Service.bad_random() == -1
        randintMock.assert_called_once_with(0, -1)
        randintMock.reset_mock()

        # float
        mockOpen.return_value = MockFile([5.2])
        randintMock.return_value = 0
        assert Service.bad_random() == 0
        randintMock.assert_called_once_with(0, 0)
        randintMock.reset_mock()

        # non-numeric values
        mockOpen.return_value = MockFile([1, "a", 7])
        self.assertRaises(ValueError, Service.bad_random)
        mockOpen.reset_mock()
コード例 #8
0
def test_bad_random(bad_random):
    service = Service()

    bad_random.return_value = 0
    assert service.bad_random() == 0

    bad_random.return_value = 2
    assert service.bad_random() == 2
    def test_complicated_function(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=42)
        assert service.complicated_function(3) == (42/3, 0)

        service.bad_random = mock.Mock(return_value=43)

        assert service.complicated_function(3) == (43/3, 1)
コード例 #10
0
 def test_bad_random(self, mock_service):
     mock_service.return_value = 10
     assert Service.bad_random() == 10
     mock_service.return_value = 99
     assert Service.bad_random() == 99
     mock_service.return_value = 0
     assert Service.bad_random() == 0
     return
    def test_complicated_function(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=42)
        assert service.complicated_function(3) == (42 / 3, 0)

        service.bad_random = mock.Mock(return_value=43)

        assert service.complicated_function(3) == (43 / 3, 1)
 def test_divide(self):
     ser = Service()
     ser.bad_random = mock.Mock(return_value=20)
     re = ser.divide(10)
     assert re == 2
     ser.bad_random = mock.Mock(return_value=20)
     re = ser.divide(-10)
     assert re == -2
     ser.bad_random = mock.Mock(return_value=20)
     self.assertRaises(ZeroDivisionError, ser.divide,0)       
    def test_divide(self):
        s = Service()
        s.bad_random = mock.Mock(return_value=10)
        r_val = s.divide(5)
        assert r_val == 2

        s.bad_random = mock.Mock(return_value=1)
        #r_val2 = s.divide(0)
        self.assertRaises(ZeroDivisionError, s.divide, 0)
        '''s.bad_random = mock.Mock(return_value=None)
class ServiceTest(TestCase):
    def setUp(self):
        self.service = Service()

    @mock.patch('service.Service.bad_random', return_value=return_value[0])
    def test_service_bad_random(self, x):
        """
        Tests the bad_random function for Service.
        """

        assert self.service.bad_random() == 20

    @mock.patch('service.Service.bad_random', return_value=return_value[0])
    def test_service_divide(self, x):
        """
        Tests for the divide(x) function for Service.
        """

        # Tests for Zero Division Error
        try:
            y = self.service.divide(0)
        except ZeroDivisionError:
            y = 'zero division error'
        assert y == 'zero division error'

        # Tests y > 0
        y = self.service.divide(1)
        assert y == 20

    def test_service_abs_plus(self):
        """
        Tests for the abs_plus(x) function for Service.
        """

        # Test x < 0
        assert self.service.abs_plus(-1) == 2

        # Test x > 0
        assert self.service.abs_plus(5) == 6

        # Test x == 0
        assert self.service.abs_plus(0) == 1

    @mock.patch('service.Service.bad_random', return_value=return_value[0])
    @mock.patch('service.Service.divide', return_value=return_value[0])
    def test_service_complicated_function(self, x, y):
        """
        Tests the complicated function for Service.
        """
        a = self.service.bad_random()
        b = self.service.divide(4)
        i = self.service.complicated_function(4)
        assert b == i[0]
        assert a % 2 == i[1]
 def test_divide(self):
     s = Service()
     s.bad_random = mock.Mock(return_value=10)
     r_val = s.divide(5)
     assert r_val == 2
     
     s.bad_random = mock.Mock(return_value=1)
     #r_val2 = s.divide(0)
     self.assertRaises(ZeroDivisionError,s.divide,0)
     
     '''s.bad_random = mock.Mock(return_value=None)
    def test_bad_random(self, mock_service):

        mock_service.return_value = 199
        assert Service.bad_random() == 199
        mock_service.return_value = 0
        assert Service.bad_random() == 0
        mock_service.return_value = -199
        assert Service.bad_random() == -199
        mock_service.return_value = "jdsalkd"
        assert Service.bad_random() is not int
        return
    def test_bad_random(self, mock_service):

        mock_service.return_value = 199
        assert Service.bad_random() == 199
        mock_service.return_value = 0
        assert Service.bad_random() == 0
        mock_service.return_value = -199
        assert Service.bad_random() == -199
        mock_service.return_value = "jdsalkd"
        assert Service.bad_random() is not int
        return
def test_bad_random(bad_random):

	newService = Service()

	bad_random.return_value = 3
	assert newService.bad_random() == 3

	bad_random.return_value = 0
	assert newService.bad_random() == 0

	bad_random.return_value = 10
	assert newService.bad_random() == 10
def test_bad_random(bad_random):

    newService = Service()

    bad_random.return_value = 3
    assert newService.bad_random() == 3

    bad_random.return_value = 0
    assert newService.bad_random() == 0

    bad_random.return_value = 10
    assert newService.bad_random() == 10
    def test_divide(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=9)
        return_val = service.divide(2)
        assert return_val == 4.5

        # trying to divide 0
        self.assertRaises(ZeroDivisionError,service.divide,0)
    def test_complicated_function(self):
        s = Service()
        s.bad_random = mock.Mock(return_value=10)
        #s.divide = mock.Mock(return_value=2)
        r_val = s.complicated_function(5)
        assert r_val == (2, 0)

        self.assertRaises(ZeroDivisionError, s.complicated_function, 0)
 def test_complicated_function(self):
     s = Service()
     s.bad_random = mock.Mock(return_value=10)
     #s.divide = mock.Mock(return_value=2)
     r_val = s.complicated_function(5)
     assert r_val == (2,0)
     
     self.assertRaises(ZeroDivisionError,s.complicated_function,0)
 def test_bad_random(self):
     file_content_mock1 = """10\n12\n14\n16\n18\n20\n30"""
     #fake_file_path = 'file/path/mock'
     newfile = mock_open(read_data=file_content_mock1)
     with patch('service.open',newfile,create=True) :
         number1 = Service.bad_random()
 
     expected = len(file_content_mock1.split('\n'))
     assert 0 <= number1 < expected
    def test_bad_random(self):
        file_content_mock1 = """10\n12\n14\n16\n18\n20\n30"""
        #fake_file_path = 'file/path/mock'
        newfile = mock_open(read_data=file_content_mock1)
        with patch('service.open', newfile, create=True):
            number1 = Service.bad_random()

        expected = len(file_content_mock1.split('\n'))
        assert 0 <= number1 < expected
コード例 #25
0
    def test_complicated(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=5)
        value = service.complicated_function(5)
        self.assertRaises(ZeroDivisionError, service.divide, 0)

        service.divide = mock.Mock(return_value=4)
        return_val = service.complicated_function(2)
        assert return_val[0] == 2
        assert return_val[1] == 2.5
    def test_complicated(self):
        service = Service()
        service.bad_random = mock.Mock(return_value = 5)
        value = service.complicated_function(5)
        self.assertRaises(ZeroDivisionError,service.divide,0)

        service.divide = mock.Mock(return_value=4)
        return_val = service.complicated_function(2)
        assert return_val[0] == 2
        assert return_val[1] == 2.5
コード例 #27
0
    def test_complicated_function(self, mock_service):
        # mock the broken random function and previous divide function
        y = 2
        mock_service.bad_random.return_value = 10
        mock_service.divide.return_value = mock_service.bad_random() / y
        mock_service.complicated_function.return_value = Service.divide(
            y), Service.bad_random() % 2
        values = Service.complicated_function(2)
        assert values[0] == 5.0
        assert values[1] == 0

        y = -2
        mock_service.divide.return_value = mock_service.bad_random() / y
        mock_service.complicated_function.return_value = Service.divide(
            y), Service.bad_random() % 2
        print(Service.complicated_function(2))
        assert Service.complicated_function(2)[0] == -5.0
        assert Service.complicated_function(2)[1] == 0
        return
    def test_complicated_function(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=8)

        # test divide by zero before mock divide
        self.assertRaises(ZeroDivisionError,service.divide,0)

        # test a normal value
        service.divide = mock.Mock(return_value=9)
        return_val = service.complicated_function(2)
        assert return_val[0]==9
        assert return_val[1]==0
    def test_divide(self):
        service = Service()
        service.bad_random  = mock.Mock(return_value=42)
        y = 3
        assert service.divide(y) == 42 / y
        
        y2 = -10
        assert service.divide(y2) == 42 / y2

        assert service.divide(2) == 21

        with pytest.raises(ZeroDivisionError):service.divide(0)
    def test_divide(self):
        service = Service()
        service.bad_random = mock.Mock(return_value=42)
        y = 3
        assert service.divide(y) == 42 / y

        y2 = -10
        assert service.divide(y2) == 42 / y2

        assert service.divide(2) == 21

        with pytest.raises(ZeroDivisionError):
            service.divide(0)
class TestService(unittest.TestCase):

    def setUp(self):
        self.serv = Service()
    
    @patch('service.Service.bad_random', return_value=10)
    def test_bad_random(self, args):
        self.assertEqual(self.serv.bad_random(), 10)

    @patch('service.Service.bad_random', return_value=10)
    def test_divide(self, args):
        self.assertEqual(self.serv.divide(5), 2)
        self.assertEqual(self.serv.divide(-5), -2)
        self.assertEqual(self.serv.divide(1), 10)

    def test_abs_plus(self):
        self.assertEqual(self.serv.abs_plus(1), 2)
        self.assertEqual(self.serv.abs_plus(0), 1)
        self.assertEqual(self.serv.abs_plus(-1), 2)

    @patch('service.Service.bad_random', return_value=10)
    def test_complicated_function(self, args):
        self.assertEqual(self.serv.complicated_function(5), (2, self.serv.bad_random()%2))
class TestService(unittest.TestCase):
    def setUp(self):
        self.service = Service()
        
    @patch('service.Service.bad_random')
    def test_bad_random(self, mock_bad_random):
        mock_bad_random.return_value = 20
        
        #check to see if mock method works
        self.assertEqual(self.service.bad_random(), 20)
    
    @patch('service.Service.bad_random')
    def test_divide(self, mock_bad_random):
        mock_bad_random.return_value = 20
        
        #positive
        self.assertEqual(self.service.divide(5), 4)
        
        #zero
        with self.assertRaises(ZeroDivisionError):
            self.service.divide(0)
        
        #negative
        self.assertEqual(self.service.divide(-2), -10)
    
    
    def test_abs_plus(self):
    
        #negative
        self.assertEqual(self.service.abs_plus(-5), 6)
        
        #zero
        self.assertEqual(self.service.abs_plus(0), 1)
        
        #positive
        self.assertEqual(self.service.abs_plus(5), 6)
        
        
    @patch('service.Service.bad_random')
    def test_complicated_function(self, mock_bad_random):
        mock_bad_random.return_value = 20
        
        #test mod with a 0 result
        self.assertEqual(self.service.complicated_function(5), (4,0))
        
        mock_bad_random.return_value = 9
        #test mod with a non zero result
        self.assertEqual(self.service.complicated_function(3), (3,1))
class TestService(TestCase):
    def setUp(self):
        self.service = Service()
    
    @patch("service.Service.bad_random", return_value=10)
    def test_bad_random(self, mock_bad_random):
        self.assertEqual(self.service.bad_random(),10)
    
    @patch("service.Service.bad_random", return_value=10)
    def test_divide(self, mock_bad_random):
        self.assertEqual(self.service.divide(2), 5)
        try:
            self.service.divide(0)
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)
        try:
            self.service.divide("sghf")
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)

    def test_abs_plus(self):
        self.assertEqual(self.service.abs_plus(-1), 2)
        self.assertEqual(self.service.abs_plus(0), 1)
        self.assertEqual(self.service.abs_plus(1), 2)
        try:
            self.service.abs_plus("jksdfhhdfbd")
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)
        
    
    @patch("service.Service.bad_random")    
    def test_complicated_function(self, mock_bad_random):
        mock_bad_random.return_value = 10
        rv1, rv2 = self.service.complicated_function(2)
        self.assertEqual(rv1, 5)
        self.assertEqual(rv2, 0)
        mock_bad_random.return_value = 11
        rv1, rv2 = self.service.complicated_function(2)
        self.assertEqual(rv1, 5.5)
        self.assertEqual(rv2, 1)       
コード例 #34
0
class TestService(TestCase):
    def setUp(self):
        self.service = Service()

    @patch("service.Service.bad_random", return_value=10)
    def test_bad_random(self, mock_bad_random):
        self.assertEqual(self.service.bad_random(), 10)

    @patch("service.Service.bad_random", return_value=10)
    def test_divide(self, mock_bad_random):
        self.assertEqual(self.service.divide(2), 5)
        try:
            self.service.divide(0)
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)
        try:
            self.service.divide("sghf")
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)

    def test_abs_plus(self):
        self.assertEqual(self.service.abs_plus(-1), 2)
        self.assertEqual(self.service.abs_plus(0), 1)
        self.assertEqual(self.service.abs_plus(1), 2)
        try:
            self.service.abs_plus("jksdfhhdfbd")
            self.assertEqual(True, False)
        except:
            self.assertEqual(True, True)

    @patch("service.Service.bad_random")
    def test_complicated_function(self, mock_bad_random):
        mock_bad_random.return_value = 10
        rv1, rv2 = self.service.complicated_function(2)
        self.assertEqual(rv1, 5)
        self.assertEqual(rv2, 0)
        mock_bad_random.return_value = 11
        rv1, rv2 = self.service.complicated_function(2)
        self.assertEqual(rv1, 5.5)
        self.assertEqual(rv2, 1)
    def test_complicated_function(self):
        mockService = Service()

        #Test case negative odd integer dividend
        mockService.divide = mock.Mock(return_value=5)
        mockService.bad_random = mock.Mock(return_value=-5)
        modulus = mockService.complicated_function(1)
        self.assertTrue(modulus == (5, 1))

        #Test case negative even integer dividend
        mockService.divide = mock.Mock(return_value=6)
        mockService.bad_random = mock.Mock(return_value=-6)
        modulus = mockService.complicated_function(1)
        self.assertTrue(modulus == (6, 0))

        #Test case zero dividend
        mockService.divide = mock.Mock(return_value=4)
        mockService.bad_random = mock.Mock(return_value=0)
        modulus = mockService.complicated_function(1)
        self.assertTrue(modulus == (4, 0))

        #Test case positive odd integer dividend
        mockService.divide = mock.Mock(return_value=5)
        mockService.bad_random = mock.Mock(return_value=5)
        modulus = mockService.complicated_function(1)
        self.assertTrue(modulus == (5, 1))

        #Test case positive even integer dividend
        mockService.divide = mock.Mock(return_value=6)
        mockService.bad_random = mock.Mock(return_value=6)
        modulus = mockService.complicated_function(1)
        self.assertTrue(modulus == (6, 0))

        #test case dividend not a number
        mockService.divide = mock.Mock(return_value=7)
        mockService.bad_random = mock.Mock(return_value="A")
        self.assertRaises(TypeError, mockService.complicated_function,
                          'string')
コード例 #36
0
 def test_bad_random(self, mock_bad_random):
     mock_bad_random.return_value = 10
     randNum = Service.bad_random()
     self.assertEqual(randNum, 10)
class TestService(unittest.TestCase):
    def setUp(self):
        self.service = Service()

    @patch('service.Service.bad_random')
    def test_bad_random(self, mock_bad_random):
        mock_bad_random.return_value = 10

        self.assertEqual(self.service.bad_random(), 10)

    @patch('service.Service.bad_random')
    def test_divide(self, mock_bad_random):
        mock_bad_random.return_value = 10

        # Divisor and dividend are positive, whole result
        self.assertEqual(self.service.divide(5), 2)

        # Divisor and dividend are positive, fractional result
        self.assertEqual(self.service.divide(20), 0.5)

        # Divide by 0
        with self.assertRaises(ZeroDivisionError):
            self.service.divide(0)

        # Positive dividend and negative divisor
        self.assertEqual(self.service.divide(-5), -2)

        mock_bad_random.return_value = -10

        # Negative dividend and positive divisor
        self.assertEqual(self.service.divide(5), -2)

        # Missing argument
        with self.assertRaises(TypeError):
            self.service.divide()

    def test_abs_plus(self):
        # Negative
        self.assertEqual(self.service.abs_plus(-1), 2)

        # 0
        self.assertEqual(self.service.abs_plus(0), 1)

        # Positive
        self.assertEqual(self.service.abs_plus(1), 2)

        # Non-integer
        with self.assertRaises(TypeError):
            self.service.abs_plus('a')

        # No argument
        with self.assertRaises(TypeError):
            self.service.abs_plus()

    @patch('service.Service.divide')
    @patch('service.Service.bad_random')
    def test_complicated_function(self, mock_bad_random, mock_divide):
        mock_divide.return_value = 5

        # Sanity test, with even "random" number
        mock_bad_random.return_value = 20
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(a, 5)
        self.assertEqual(b, 0)

        # Odd "random" number
        mock_bad_random.return_value = 19
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 1)

        # Negative even "random" number
        mock_bad_random.return_value = -20
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 0)

        # Negative odd "random" number
        mock_bad_random.return_value = -19
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 1)

        # No argument
        with self.assertRaises(TypeError):
            self.service.complicated_function()
 def test_bad_random(self, bad_random):
     service = Service()
     self.assertEqual(service.bad_random(), 10)
 def test_bad_random(self, bad_random):
     service = Service()
 
     assert service.bad_random() == 10
 def test_bad_random(self, mock_bad_random):
     mock_bad_random.return_value = 10
     randNum = Service.bad_random()
     self.assertEqual(randNum, 10)
 def test_bad_random(self, mock_service):
     mock_service.return_value = 10
     assert Service.bad_random() == 10
     return
コード例 #42
0
    def test_bad_random(self, bad_random):
        service = Service()

        assert service.bad_random() == 10
def service_w_mocked_random():
	serv = Service()
	serv.bad_random = Mock('bad_random')
	serv.bad_random.return_value = 10
	return serv
 def test_bad_random(self, mock_bad_random):
     mock_bad_random.return_value = 10
     assert Service.bad_random() == 10
コード例 #45
0
def service_w_mocked_random():
    serv = Service()
    serv.bad_random = Mock('bad_random')
    serv.bad_random.return_value = 10
    return serv
コード例 #46
0
 def test_divide(self):
     service = Service()
     service.bad_random = mock.Mock(return_value=5)
     value = service.divide(5)
     assert value == 1
 def test_complicated_function(self, bad_random):
     mock_service.bad_random.return_value = 0
     mock_service.divide.return_value = 10
     final = Service_divide(0), Service.bad_random()
     assert final[0] == 0
     assert final[1] == 10
 def test_complicated_function(self, bad_random):
     mock_service.bad_random.return_value = 0
     mock_service.divide.return_value = 10
     final = Service_divide(0), Service.bad_random()
     assert final[0] == 0
     assert final[1] == 10
 def test_divide(self):
     service = Service()
     service.bad_random = mock.Mock(return_value = 5)
     value = service.divide(5)
     assert value == 1
class TestService(unittest.TestCase):
    def setUp(self):
        self.service = Service()

    @patch('service.Service.bad_random')
    def test_bad_random(self, mock_bad_random):
        mock_bad_random.return_value = 10

        self.assertEqual(self.service.bad_random(), 10)

    @patch('service.Service.bad_random')
    def test_divide(self, mock_bad_random):
        mock_bad_random.return_value = 10

        # Divisor and dividend are positive, whole result
        self.assertEqual(self.service.divide(5), 2)

        # Divisor and dividend are positive, fractional result
        self.assertEqual(self.service.divide(20), 0.5)

        # Divide by 0
        with self.assertRaises(ZeroDivisionError):
            self.service.divide(0)

        # Positive dividend and negative divisor
        self.assertEqual(self.service.divide(-5), -2)

        mock_bad_random.return_value = -10

        # Negative dividend and positive divisor
        self.assertEqual(self.service.divide(5), -2)

        # Missing argument
        with self.assertRaises(TypeError):
            self.service.divide()

    def test_abs_plus(self):
        # Negative
        self.assertEqual(self.service.abs_plus(-1), 2)

        # 0
        self.assertEqual(self.service.abs_plus(0), 1)

        # Positive
        self.assertEqual(self.service.abs_plus(1), 2)

        # Non-integer
        with self.assertRaises(TypeError):
            self.service.abs_plus('a')

        # No argument
        with self.assertRaises(TypeError):
            self.service.abs_plus()
        

    @patch('service.Service.divide')
    @patch('service.Service.bad_random')
    def test_complicated_function(self, mock_bad_random, mock_divide):
        mock_divide.return_value = 5

        # Sanity test, with even "random" number
        mock_bad_random.return_value = 20
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(a, 5)
        self.assertEqual(b, 0)

        # Odd "random" number
        mock_bad_random.return_value = 19
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 1)

        # Negative even "random" number
        mock_bad_random.return_value = -20
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 0)

        # Negative odd "random" number
        mock_bad_random.return_value = -19
        (a, b) = self.service.complicated_function(3)
        self.assertEqual(b, 1)

        # No argument
        with self.assertRaises(TypeError):
            self.service.complicated_function()