示例#1
0
 public function testAddComponent()
 {
     $this->if($action = new TestedModel())->exception(function () use($action) {
         $action->addComponent('subject', new \stdClass(), '\\Spy\\Timeline\\Model\\ActionComponent');
     })->isInstanceOf('\\InvalidArgumentException')->hasMessage('Component has to be a ComponentInterface or a scalar')->when($action->addComponent('cod', 'chuckNorris', '\\Spy\\Timeline\\Model\\ActionComponent'))->string($action->getComponent('cod'))->isEqualTo('chuckNorris')->if($this->mockClass('\\Spy\\Timeline\\Model\\ComponentInterface', '\\Mock'))->and($component = new \Mock\ComponentInterface())->when($action->addComponent('coi', $component, '\\Spy\\Timeline\\Model\\ActionComponent'))->object($action->getComponent('coi'))->isIdenticalTo($component)->when($action->addComponent('coi', 'text', '\\Spy\\Timeline\\Model\\ActionComponent'))->integer(count($action->getActionComponents()))->isEqualTo(2);
 }