def test_basic(self): demo = Demo(1, 2) self.assertEqual(1, demo.num1) self.assertEqual(2, demo.num2) self.assertEqual(1, demo._special_number()) self.assertEqual(4, demo.sum()) self.assertEqual(8, demo.sum_bias())
class TPopulationCount(unittest.TestCase): def setUp(self): #print("[setUp]") self.d = Demo() def tearDown(self): #print("[tearDown]") pass def test_population_count_1(self): res = self.d.population_count(0) self.assertEqual(res, 0) def test_population_count_2(self): res = self.d.population_count(8) self.assertEqual(res, 1) def test_population_count_3(self): res = self.d.population_count(15) self.assertEqual(res, 4) def test_population_count_4(self): res = self.d.population_count(19) self.assertEqual(res, 3)
class TLargestSubArray(unittest.TestCase): def setUp(self): #print("[setUp]") self.d = Demo() def tearDown(self): #print("[tearDown]") pass def test_largest_subarray_1(self): res = self.d.largest_subarray([1, 2, 4]) self.assertEqual(res, 7) def test_largest_subarray_2(self): res = self.d.largest_subarray([-21, -1, -1, 0]) self.assertEqual(res, 0) def test_largest_subarray_3(self): res = self.d.largest_subarray([1, 2, -10, 3, 100, 1222]) self.assertEqual(res, 1325) def test_largest_subarray_4(self): res = self.d.largest_subarray([-1, -2, -5]) self.assertEqual(res, -1)
def setUp(self): #print("[setUp]") self.d = Demo()
def test_mock_datetime(self, mocked_datetime): mocked_datetime.datetime.today.return_value = 'This is a mocked method' demo = Demo(1, 2) self.assertTrue('mocked' in demo.append_datetime('abc')) mocked_datetime.datetime.today.assert_called_once()
def test_datetime(self): demo = Demo(1, 2) self.assertTrue('abc' in demo.append_datetime('abc'))
def test_sum_bias(self, mocked_bias): mocked_bias.get_bias.return_value = 7 demo = Demo(1, 2) self.assertEqual(10, demo.sum_bias())
def test_mock_sum_bias(self): demo = Demo(1, 2) self.assertEqual(8, demo.sum_bias())
def test_raise_error_patch(self): with patch.object(Demo, '_special_number', return_value=-1) as mocked_mathod: demo = Demo(1, 2) with self.assertRaises(ValueError): demo.sum() mocked_mathod.assert_called_once_with()
def test_raise_error_side_effect(self): demo = Demo(1, 2) demo._special_number = MagicMock(side_effect=SpecialError) with self.assertRaises(SpecialError): demo.sum() demo._special_number.assert_called_with()
def test_raise_error(self): demo = Demo(1, 2) demo._special_number = MagicMock(return_value=-1) with self.assertRaises(ValueError): demo.sum() demo._special_number.assert_called_with()
def help(): print(""" syntax: %s ARG where ARG: demo one [args] : run demo one, population count demo two [args] : run demo two, max subarray test : run tests """ % (os.path.basename(__file__))) if __name__ == '__main__': if len(sys.argv) > 1: d = Demo() arg = sys.argv[1] args = sys.argv[2:] if arg == "test": print("# running tests") suite = unittest.TestLoader().discover('./test') runner = unittest.TextTestRunner() runner.run(suite) elif arg == "demo": print("# running demo") d.process(args) else: help() print("unsupported arg %r!" % (str(arg))) else: help()