Вход Регистрация
Файл: gapps/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/HasToStringTest.php
Строк: 78
<?php
namespace HamcrestCore;

class 
PhpForm
{
    public function 
__toString()
    {
        return 
'php';
    }
}

class 
JavaForm
{
    public function 
toString()
    {
        return 
'java';
    }
}

class 
BothForms
{
    public function 
__toString()
    {
        return 
'php';
    }

    public function 
toString()
    {
        return 
'java';
    }
}

class 
HasToStringTest extends HamcrestAbstractMatcherTest
{

    protected function 
createMatcher()
    {
        return 
HamcrestCoreHasToString::hasToString('foo');
    }

    public function 
testMatchesWhenToStringMatches()
    {
        
$this->assertMatches(
            
hasToString(equalTo('php')),
            new 
HamcrestCorePhpForm(),
            
'correct __toString'
        
);
        
$this->assertMatches(
            
hasToString(equalTo('java')),
            new 
HamcrestCoreJavaForm(),
            
'correct toString'
        
);
    }

    public function 
testPicksJavaOverPhpToString()
    {
        
$this->assertMatches(
            
hasToString(equalTo('java')),
            new 
HamcrestCoreBothForms(),
            
'correct toString'
        
);
    }

    public function 
testDoesNotMatchWhenToStringDoesNotMatch()
    {
        
$this->assertDoesNotMatch(
            
hasToString(equalTo('mismatch')),
            new 
HamcrestCorePhpForm(),
            
'incorrect __toString'
        
);
        
$this->assertDoesNotMatch(
            
hasToString(equalTo('mismatch')),
            new 
HamcrestCoreJavaForm(),
            
'incorrect toString'
        
);
        
$this->assertDoesNotMatch(
            
hasToString(equalTo('mismatch')),
            new 
HamcrestCoreBothForms(),
            
'incorrect __toString'
        
);
    }

    public function 
testDoesNotMatchNull()
    {
        
$this->assertDoesNotMatch(
            
hasToString(equalTo('a')),
            
null,
            
'should not match null'
        
);
    }

    public function 
testProvidesConvenientShortcutForTraversableWithSizeEqualTo()
    {
        
$this->assertMatches(
            
hasToString(equalTo('php')),
            new 
HamcrestCorePhpForm(),
            
'correct __toString'
        
);
    }

    public function 
testHasAReadableDescription()
    {
        
$this->assertDescription(
            
'an object with toString() "php"',
            
hasToString(equalTo('php'))
        );
    }
}
Онлайн: 1
Реклама