Merge pull request #367 from gabbanaesteban/add-to-be-falsy-and-to-be-truthy

Add `toBeTruthy` and `ToBeFalsy`
This commit is contained in:
Nuno Maduro
2021-08-04 22:45:39 +01:00
committed by GitHub
3 changed files with 72 additions and 0 deletions

View File

@ -205,6 +205,16 @@ final class Expectation
return $this;
}
/**
* Asserts that the value is truthy.
*/
public function toBeTruthy(): Expectation
{
Assert::assertTrue((bool) $this->value);
return $this;
}
/**
* Asserts that the value is false.
*/
@ -215,6 +225,16 @@ final class Expectation
return $this;
}
/**
* Asserts that the value is falsy.
*/
public function toBeFalsy(): Expectation
{
Assert::assertFalse((bool) $this->value);
return $this;
}
/**
* Asserts that the value is greater than $expected.
*

View File

@ -0,0 +1,26 @@
<?php
use PHPUnit\Framework\ExpectationFailedException;
test('passes', function () {
expect(false)->toBeFalsy();
expect('')->toBeFalsy();
expect(null)->toBeFalsy();
expect([])->toBeFalsy();
expect(0)->toBeFalsy();
expect('0')->toBeFalsy();
expect(true)->not->toBeFalsy();
expect([1])->not->toBeFalsy();
expect('false')->not->toBeFalsy();
expect(1)->not->toBeFalsy();
expect(-1)->not->toBeFalsy();
});
test('failures', function () {
expect(1)->toBeFalsy();
})->throws(ExpectationFailedException::class);
test('not failures', function () {
expect(null)->not->toBeFalsy();
})->throws(ExpectationFailedException::class);

View File

@ -0,0 +1,26 @@
<?php
use PHPUnit\Framework\ExpectationFailedException;
test('passes', function () {
expect(true)->toBeTruthy();
expect([1])->toBeTruthy();
expect('false')->toBeTruthy();
expect(1)->toBeTruthy();
expect(-1)->toBeTruthy();
expect(false)->not->toBeTruthy();
expect('')->not->toBeTruthy();
expect(null)->not->toBeTruthy();
expect([])->not->toBeTruthy();
expect(0)->not->toBeTruthy();
expect('0')->not->toBeTruthy();
});
test('failures', function () {
expect(null)->toBeTruthy();
})->throws(ExpectationFailedException::class);
test('not failures', function () {
expect(1)->not->toBeTruthy();
})->throws(ExpectationFailedException::class);