$stub =& new StubDummy(); $stub->setReturnValueAt(0, "anotherMethod", "aaa"); $stub->setReturnValue("aMethod", "AAA"); $this->assertIdentical($stub->aMethod(), "AAA"); $this->assertIdentical($stub->anotherMethod(), "aaa"); } } Mock::generate('Dummy'); Mock::generate('Dummy', 'AnotherMockDummy'); Mock::generate('Dummy', 'MockDummyWithExtraMethods', array('extraMethod')); class SpecialSimpleMock extends SimpleMock { } SimpleTest::setMockBaseClass("SpecialSimpleMock"); Mock::generate("Dummy", "SpecialMockDummy"); SimpleTest::setMockBaseClass("SimpleMock"); class TestOfMockGeneration extends UnitTestCase { function testCloning() { $mock =& new MockDummy(); $this->assertTrue(method_exists($mock, "aMethod")); $this->assertNull($mock->aMethod()); } function testCloningWithExtraMethod() { $mock =& new MockDummyWithExtraMethods(); $this->assertTrue(method_exists($mock, "extraMethod")); } function testCloningWithChosenClassName() {
function testMaximumCallsSatisfiedByNoCalls() { $mock = new MockDummy(); $mock->expectMaximumCallCount('aMethod', 1); } } class MockWithInjectedTestCase extends SimpleMock { protected function getCurrentTestCase() { return SimpleTest::getContext()->getTest()->getMockedTest(); } } SimpleTest::setMockBaseClass('MockWithInjectedTestCase'); Mock::generate('Dummy', 'MockDummyWithInjectedTestCase'); SimpleTest::setMockBaseClass('SimpleMock'); Mock::generate('SimpleTestCase'); class LikeExpectation extends IdenticalExpectation { function __construct($expectation) { $expectation->message = ''; parent::__construct($expectation); } function test($compare) { $compare->message = ''; return parent::test($compare); } function testMessage($compare) {