<?php 
/** 
 * @author stev leibelt <[email protected]> 
 * @since 2014-08-05  
 */ 
 
namespace Test\Net\Bazzline\Component\ProcessForkManager; 
 
use Net\Bazzline\Component\ProcessForkManager\ForkManagerEvent; 
 
/** 
 * Class ForkManagerEventTest 
 * @package Test\Net\Bazzline\Component\ProcessForkManager 
 */ 
class ForkManagerEventTest extends ForkManagerTestCase 
{ 
    public function testGetHasAndSetForkManager() 
    { 
        $event = $this->getNewEvent(); 
        $manager = $this->getMockOfForkManager(); 
 
        $this->assertFalse($event->hasForkManager()); 
        $this->assertNull($event->getForkManager()); 
 
        $event->setForkManager($manager); 
 
        $this->assertTrue($event->hasForkManager()); 
        $this->assertEquals($manager, $event->getForkManager()); 
    } 
 
    public function testGetHasAndSetSource() 
    { 
        $event = $this->getNewEvent(); 
        $source = __METHOD__; 
 
        $this->assertFalse($event->hasSource()); 
        $this->assertNull($event->getSource()); 
 
        $event->setSource($source); 
 
        $this->assertTrue($event->hasSource()); 
        $this->assertEquals($source, $event->getSource()); 
    } 
 
    public function testGetHasAndSetTask() 
    { 
        $event = $this->getNewEvent(); 
        $task = $this->getMockOfAbstractTask(); 
 
        $this->assertFalse($event->hasTask()); 
        $this->assertNull($event->getTask()); 
 
        $event->setTask($task); 
 
        $this->assertTrue($event->hasTask()); 
        $this->assertEquals($task, $event->getTask()); 
    } 
 
    public function testClone() 
    { 
        $firstEvent = $this->getNewEvent(); 
        $firstEvent->setForkManager($this->getMockOfForkManager()); 
        $firstEvent->setSource(__METHOD__); 
        $firstEvent->setTask($this->getMockOfAbstractTask()); 
 
        $this->assertTrue($firstEvent->hasForkManager()); 
        $this->assertTrue($firstEvent->hasSource()); 
        $this->assertTrue($firstEvent->hasTask()); 
 
        $secondEvent = clone $firstEvent; 
 
        $this->assertNotEquals($firstEvent, $secondEvent); 
        $this->assertFalse($secondEvent->hasForkManager()); 
        $this->assertFalse($secondEvent->hasSource()); 
        $this->assertFalse($secondEvent->hasTask()); 
    } 
 
    /** 
     * @return ForkManagerEvent 
     */ 
    private function getNewEvent() 
    { 
        return new ForkManagerEvent(); 
    } 
} 
 
 |