<?php
namespace Hamcrest;
use PHPUnit\Framework\TestCase;
class MatcherAssertTest extends TestCase
{
protected function setUp()
{
\Hamcrest\MatcherAssert::resetCount();
}
public function testResetCount()
{
\Hamcrest\MatcherAssert::assertThat(true);
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
\Hamcrest\MatcherAssert::resetCount();
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithTrueArgPasses()
{
\Hamcrest\MatcherAssert::assertThat(true);
\Hamcrest\MatcherAssert::assertThat('non-empty');
\Hamcrest\MatcherAssert::assertThat(1);
\Hamcrest\MatcherAssert::assertThat(3.14159);
\Hamcrest\MatcherAssert::assertThat(array(true));
self::assertEquals(5, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithFalseArgFails()
{
try {
\Hamcrest\MatcherAssert::assertThat(false);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(null);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('');
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(0.0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat(array());
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('', $ex->getMessage());
}
self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndTrueArgPasses()
{
\Hamcrest\MatcherAssert::assertThat('identifier', true);
\Hamcrest\MatcherAssert::assertThat('identifier', 'non-empty');
\Hamcrest\MatcherAssert::assertThat('identifier', 1);
\Hamcrest\MatcherAssert::assertThat('identifier', 3.14159);
\Hamcrest\MatcherAssert::assertThat('identifier', array(true));
self::assertEquals(5, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndFalseArgFails()
{
try {
\Hamcrest\MatcherAssert::assertThat('identifier', false);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', null);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', '');
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', 0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', 0.0);
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
try {
\Hamcrest\MatcherAssert::assertThat('identifier', array());
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals('identifier', $ex->getMessage());
}
self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithActualValueAndMatcherArgsThatMatchPasses()
{
\Hamcrest\MatcherAssert::assertThat(true, is(true));
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithActualValueAndMatcherArgsThatDontMatchFails()
{
$expected = 'expected';
$actual = 'actual';
$expectedMessage =
'Expected: "expected"' . PHP_EOL .
' but: was "actual"';
try {
\Hamcrest\MatcherAssert::assertThat($actual, equalTo($expected));
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals($expectedMessage, $ex->getMessage());
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatMatchPasses()
{
\Hamcrest\MatcherAssert::assertThat('identifier', true, is(true));
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatDontMatchFails()
{
$expected = 'expected';
$actual = 'actual';
$expectedMessage =
'identifier' . PHP_EOL .
'Expected: "expected"' . PHP_EOL .
' but: was "actual"';
try {
\Hamcrest\MatcherAssert::assertThat('identifier', $actual, equalTo($expected));
self::fail('expected assertion failure');
} catch (\Hamcrest\AssertionError $ex) {
self::assertEquals($expectedMessage, $ex->getMessage());
self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithNoArgsThrowsErrorAndDoesntIncrementCount()
{
try {
\Hamcrest\MatcherAssert::assertThat();
self::fail('expected invalid argument exception');
} catch (\InvalidArgumentException $ex) {
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
public function testAssertThatWithFourArgsThrowsErrorAndDoesntIncrementCount()
{
try {
\Hamcrest\MatcherAssert::assertThat(1, 2, 3, 4);
self::fail('expected invalid argument exception');
} catch (\InvalidArgumentException $ex) {
self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count');
}
}
}
Contact Section
We’d love to hear from you! Whether you have questions, feedback, or need support, our team is here to help. Reach out to us via email, phone, or visit our office. We’re committed to providing you with exceptional service and ensuring your experience with NFC Pay is seamless and satisfying. Let’s connect!