Ejemplo n.º 1
0
 /** @return MockObject */
 private function buildMock(array $args)
 {
     $mockBuilder = $this->testCase->getMockBuilder($this->className);
     $mockBuilder->setMethods(array_merge($this->extractMethods(), array('this', 'mock')));
     if ($args) {
         $mockBuilder->setConstructorArgs($args);
     } else {
         $mockBuilder->disableOriginalConstructor();
     }
     $mock = $mockBuilder->getMock();
     $reflection = new \ReflectionClass($this->className);
     foreach ($this->items as $item) {
         $this->addMethodExpectation($reflection, $mock, $item);
     }
     $mock->expects(TestCase::any())->method('this')->will(TestCase::returnValue(new Reflection($mock)));
     $mock->expects(TestCase::any())->method('mock')->will(TestCase::returnValue(new MockAdjuster($mock, $reflection)));
     foreach ($this->properties as $key => $value) {
         $mock->this()->{$key} = $value;
     }
     return $mock;
 }