blob: a2864ff7487629ce77c5b707f7775e191662208d [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from mock_function import MockFunction
class MockFunctionUnittest(unittest.TestCase):
def testMockFunction(self):
@MockFunction
def calc(a, b, mult=1):
return (a + b) * mult
self.assertTrue(*calc.CheckAndReset(0))
self.assertEqual(
(False, 'calc: expected 1 call(s), got 0'), calc.CheckAndReset(1))
self.assertEqual(20, calc(2, 3, mult=4))
self.assertTrue(*calc.CheckAndReset(1))
self.assertTrue(*calc.CheckAndReset(0))
self.assertEqual(20, calc(2, 3, mult=4))
self.assertEqual(
(False, 'calc: expected 0 call(s), got 1'), calc.CheckAndReset(0))
self.assertEqual(3, calc(1, 2))
self.assertEqual(0, calc(3, 4, mult=0))
self.assertTrue(*calc.CheckAndReset(2))
self.assertTrue(*calc.CheckAndReset(0))
self.assertEqual(3, calc(1, 2))
self.assertEqual(0, calc(3, 4, mult=0))
self.assertEqual(
(False, 'calc: expected 3 call(s), got 2'), calc.CheckAndReset(3))
if __name__ == '__main__':
unittest.main()