Example #1
0
 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())
Example #2
0
 def setUp(self):
     #print("[setUp]")
     self.d = Demo()
Example #3
0
 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()
Example #4
0
 def test_datetime(self):
     demo = Demo(1, 2)
     self.assertTrue('abc' in demo.append_datetime('abc'))
Example #5
0
 def test_sum_bias(self, mocked_bias):
     mocked_bias.get_bias.return_value = 7
     demo = Demo(1, 2)
     self.assertEqual(10, demo.sum_bias())
Example #6
0
 def test_mock_sum_bias(self):
     demo = Demo(1, 2)
     self.assertEqual(8, demo.sum_bias())
Example #7
0
 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()
Example #8
0
 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()
Example #9
0
 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()
Example #10
0
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()