Файл: 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'))
);
}
}