diff options
Diffstat (limited to 'vendor/phpunit/phpunit-mock-objects/tests/MockObject/Builder/InvocationMockerTest.php')
-rw-r--r-- | vendor/phpunit/phpunit-mock-objects/tests/MockObject/Builder/InvocationMockerTest.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Builder/InvocationMockerTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Builder/InvocationMockerTest.php new file mode 100644 index 0000000..17e034d --- /dev/null +++ b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Builder/InvocationMockerTest.php @@ -0,0 +1,63 @@ +<?php +class Framework_MockObject_Builder_InvocationMockerTest extends PHPUnit_Framework_TestCase +{ + public function testWillReturnWithOneValue() + { + $mock = $this->getMockBuilder(stdClass::class) + ->setMethods(['foo']) + ->getMock(); + + $mock->expects($this->any()) + ->method('foo') + ->willReturn(1); + + $this->assertEquals(1, $mock->foo()); + } + + public function testWillReturnWithMultipleValues() + { + $mock = $this->getMockBuilder(stdClass::class) + ->setMethods(['foo']) + ->getMock(); + + $mock->expects($this->any()) + ->method('foo') + ->willReturn(1, 2, 3); + + $this->assertEquals(1, $mock->foo()); + $this->assertEquals(2, $mock->foo()); + $this->assertEquals(3, $mock->foo()); + } + + public function testWillReturnOnConsecutiveCalls() + { + $mock = $this->getMockBuilder(stdClass::class) + ->setMethods(['foo']) + ->getMock(); + + $mock->expects($this->any()) + ->method('foo') + ->willReturnOnConsecutiveCalls(1, 2, 3); + + $this->assertEquals(1, $mock->foo()); + $this->assertEquals(2, $mock->foo()); + $this->assertEquals(3, $mock->foo()); + } + + public function testWillReturnByReference() + { + $mock = $this->getMockBuilder(stdClass::class) + ->setMethods(['foo']) + ->getMock(); + + $mock->expects($this->any()) + ->method('foo') + ->willReturnReference($value); + + $this->assertSame(null, $mock->foo()); + $value = 'foo'; + $this->assertSame('foo', $mock->foo()); + $value = 'bar'; + $this->assertSame('bar', $mock->foo()); + } +} |