comparison vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2 /*
3 * This file is part of the PHPUnit_MockObject package.
4 *
5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 /**
12 * @since File available since Release 1.0.0
13 */
14 class Framework_MockBuilderTest extends PHPUnit_Framework_TestCase
15 {
16 public function testMockBuilderRequiresClassName()
17 {
18 $spec = $this->getMockBuilder('Mockable');
19 $mock = $spec->getMock();
20 $this->assertTrue($mock instanceof Mockable);
21 }
22
23 public function testByDefaultMocksAllMethods()
24 {
25 $spec = $this->getMockBuilder('Mockable');
26 $mock = $spec->getMock();
27 $this->assertNull($mock->mockableMethod());
28 $this->assertNull($mock->anotherMockableMethod());
29 }
30
31 public function testMethodsToMockCanBeSpecified()
32 {
33 $spec = $this->getMockBuilder('Mockable');
34 $spec->setMethods(array('mockableMethod'));
35 $mock = $spec->getMock();
36 $this->assertNull($mock->mockableMethod());
37 $this->assertTrue($mock->anotherMockableMethod());
38 }
39
40 public function testByDefaultDoesNotPassArgumentsToTheConstructor()
41 {
42 $spec = $this->getMockBuilder('Mockable');
43 $mock = $spec->getMock();
44 $this->assertEquals(array(null, null), $mock->constructorArgs);
45 }
46
47 public function testMockClassNameCanBeSpecified()
48 {
49 $spec = $this->getMockBuilder('Mockable');
50 $spec->setMockClassName('ACustomClassName');
51 $mock = $spec->getMock();
52 $this->assertTrue($mock instanceof ACustomClassName);
53 }
54
55 public function testConstructorArgumentsCanBeSpecified()
56 {
57 $spec = $this->getMockBuilder('Mockable');
58 $spec->setConstructorArgs($expected = array(23, 42));
59 $mock = $spec->getMock();
60 $this->assertEquals($expected, $mock->constructorArgs);
61 }
62
63 public function testOriginalConstructorCanBeDisabled()
64 {
65 $spec = $this->getMockBuilder('Mockable');
66 $spec->disableOriginalConstructor();
67 $mock = $spec->getMock();
68 $this->assertNull($mock->constructorArgs);
69 }
70
71 public function testByDefaultOriginalCloneIsPreserved()
72 {
73 $spec = $this->getMockBuilder('Mockable');
74 $mock = $spec->getMock();
75 $cloned = clone $mock;
76 $this->assertTrue($cloned->cloned);
77 }
78
79 public function testOriginalCloneCanBeDisabled()
80 {
81 $spec = $this->getMockBuilder('Mockable');
82 $spec->disableOriginalClone();
83 $mock = $spec->getMock();
84 $mock->cloned = false;
85 $cloned = clone $mock;
86 $this->assertFalse($cloned->cloned);
87 }
88
89 public function testCallingAutoloadCanBeDisabled()
90 {
91 // it is not clear to me how to test this nor the difference
92 // between calling it or not
93 $this->markTestIncomplete();
94 }
95
96 public function testProvidesAFluentInterface()
97 {
98 $spec = $this->getMockBuilder('Mockable')
99 ->setMethods(array('mockableMethod'))
100 ->setConstructorArgs(array())
101 ->setMockClassName('DummyClassName')
102 ->disableOriginalConstructor()
103 ->disableOriginalClone()
104 ->disableAutoload();
105 $this->assertTrue($spec instanceof PHPUnit_Framework_MockObject_MockBuilder);
106 }
107 }