Вход Регистрация
Файл: gapps/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
Строк: 96
<?php
/*
 * This file is part of the PHPUnit_MockObject package.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * @since      File available since Release 1.0.0
 */
class Framework_MockBuilderTest extends PHPUnit_Framework_TestCase
{
    public function 
testMockBuilderRequiresClassName()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$mock $spec->getMock();
        
$this->assertTrue($mock instanceof Mockable);
    }

    public function 
testByDefaultMocksAllMethods()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$mock $spec->getMock();
        
$this->assertNull($mock->mockableMethod());
        
$this->assertNull($mock->anotherMockableMethod());
    }

    public function 
testMethodsToMockCanBeSpecified()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$spec->setMethods(array('mockableMethod'));
        
$mock $spec->getMock();
        
$this->assertNull($mock->mockableMethod());
        
$this->assertTrue($mock->anotherMockableMethod());
    }

    public function 
testByDefaultDoesNotPassArgumentsToTheConstructor()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$mock $spec->getMock();
        
$this->assertEquals(array(nullnull), $mock->constructorArgs);
    }

    public function 
testMockClassNameCanBeSpecified()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$spec->setMockClassName('ACustomClassName');
        
$mock $spec->getMock();
        
$this->assertTrue($mock instanceof ACustomClassName);
    }

    public function 
testConstructorArgumentsCanBeSpecified()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$spec->setConstructorArgs($expected = array(2342));
        
$mock $spec->getMock();
        
$this->assertEquals($expected$mock->constructorArgs);
    }

    public function 
testOriginalConstructorCanBeDisabled()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$spec->disableOriginalConstructor();
        
$mock $spec->getMock();
        
$this->assertNull($mock->constructorArgs);
    }

    public function 
testByDefaultOriginalCloneIsPreserved()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$mock $spec->getMock();
        
$cloned = clone $mock;
        
$this->assertTrue($cloned->cloned);
    }

    public function 
testOriginalCloneCanBeDisabled()
    {
        
$spec $this->getMockBuilder('Mockable');
        
$spec->disableOriginalClone();
        
$mock $spec->getMock();
        
$mock->cloned false;
        
$cloned = clone $mock;
        
$this->assertFalse($cloned->cloned);
    }

    public function 
testCallingAutoloadCanBeDisabled()
    {
        
// it is not clear to me how to test this nor the difference
        // between calling it or not
        
$this->markTestIncomplete();
    }

    public function 
testProvidesAFluentInterface()
    {
        
$spec $this->getMockBuilder('Mockable')
                     ->
setMethods(array('mockableMethod'))
                     ->
setConstructorArgs(array())
                     ->
setMockClassName('DummyClassName')
                     ->
disableOriginalConstructor()
                     ->
disableOriginalClone()
                     ->
disableAutoload();
        
$this->assertTrue($spec instanceof PHPUnit_Framework_MockObject_MockBuilder);
    }
}
Онлайн: 1
Реклама