1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6 from telemetry.unittest import simple_mock
8 _ = simple_mock.DONT_CARE
10 class SimpleMockUnitTest(unittest.TestCase):
12 mock = simple_mock.MockObject()
13 mock.ExpectCall('foo')
18 mock = simple_mock.MockObject()
19 mock.ExpectCall('foo').WillReturn(7)
22 self.assertEquals(ret, 7)
25 mock = simple_mock.MockObject()
26 mock.ExpectCall('foo').WithArgs(3, 4)
31 mock = simple_mock.MockObject()
32 mock.ExpectCall('foo', 3, 4)
36 def testArgsMismatch(self):
37 mock = simple_mock.MockObject()
38 mock.ExpectCall('foo').WithArgs(3, 4)
40 self.assertRaises(Exception,
41 lambda: mock.foo(4, 4))
44 def testArgsDontCare(self):
45 mock = simple_mock.MockObject()
46 mock.ExpectCall('foo').WithArgs(_, 4)
51 mock = simple_mock.MockObject()
56 handler_called.append(True)
57 mock.ExpectCall('baz', 7).WhenCalled(Handler)
60 self.assertTrue(len(handler_called) > 0)
63 def testSubObject(self):
64 mock = simple_mock.MockObject()
65 mock.bar = simple_mock.MockObject(mock)
67 mock.ExpectCall('foo').WithArgs(_, 4)
68 mock.bar.ExpectCall('baz')
73 def testSubObjectMismatch(self):
74 mock = simple_mock.MockObject()
75 mock.bar = simple_mock.MockObject(mock)
77 mock.ExpectCall('foo').WithArgs(_, 4)
78 mock.bar.ExpectCall('baz')
82 lambda: mock.bar.baz()) # pylint: disable=W0108