Add contains, exists, toArray
- Update docs
This commit is contained in:
@@ -99,6 +99,55 @@ class ResultTest extends TestCase
|
||||
$this->assertSame($original, $result, 'The same Error result should have been returned');
|
||||
}
|
||||
|
||||
|
||||
#[TestDox('Contains succeeds for Error result')]
|
||||
public function testContainsSucceedsForErrorResult(): void
|
||||
{
|
||||
$this->assertFalse(Result::Error('ouch')->contains('ouch'), '"Error" should always return false');
|
||||
}
|
||||
|
||||
#[TestDox('Contains succeeds for OK result when strictly equal')]
|
||||
public function testContainsSucceedsForOKResultWhenStrictlyEqual(): void
|
||||
{
|
||||
$this->assertTrue(Result::OK(18)->contains(18), '"OK" with strict equality should be true');
|
||||
}
|
||||
|
||||
#[TestDox('Contains succeeds for OK result when strictly unequal')]
|
||||
public function testContainsSucceedsForOKResultWhenStrictlyUnequal(): void
|
||||
{
|
||||
$this->assertFalse(Result::OK(18)->contains('18'), '"OK" with strict equality should be false');
|
||||
}
|
||||
|
||||
#[TestDox('Contains succeeds for OK result when loosely equal')]
|
||||
public function testContainsSucceedsForOKResultWhenLooselyEqual(): void
|
||||
{
|
||||
$this->assertTrue(Result::OK(18)->contains('18', strict: false), '"OK" with loose equality should be true');
|
||||
}
|
||||
|
||||
#[TestDox('Contains succeeds for OK result when loosely unequal')]
|
||||
public function testContainsSucceedsForOKResultWhenLooselyUnequal(): void
|
||||
{
|
||||
$this->assertFalse(Result::OK(18)->contains(17, strict: false), '"OK" with loose equality should be false');
|
||||
}
|
||||
|
||||
#[TestDox('Exists succeeds for OK result when matching')]
|
||||
public function testExistsSucceedsForOKResultWhenMatching(): void
|
||||
{
|
||||
$this->assertTrue(Result::OK(14)->exists(fn($it) => $it < 100), 'Exists should have returned true');
|
||||
}
|
||||
|
||||
#[TestDox('Exists succeeds for OK result when not matching')]
|
||||
public function testExistsSucceedsForOKResultWhenNotMatching(): void
|
||||
{
|
||||
$this->assertFalse(Result::OK(14)->exists(fn($it) => $it > 100), 'Exists should have returned false');
|
||||
}
|
||||
|
||||
#[TestDox('Exists succeeds for Error result')]
|
||||
public function testExistsSucceedsForErrorResult(): void
|
||||
{
|
||||
$this->assertFalse(Result::Error(true)->exists(fn($it) => true), 'Exists should have returned false');
|
||||
}
|
||||
|
||||
#[TestDox('Map succeeds for OK result')]
|
||||
public function testMapSucceedsForOKResult(): void
|
||||
{
|
||||
@@ -177,6 +226,22 @@ class ResultTest extends TestCase
|
||||
$this->assertNull($target->called, 'The function should not have been called');
|
||||
}
|
||||
|
||||
#[TestDox('ToArray succeeds for OK result')]
|
||||
public function testToArraySucceedsForOKResult(): void
|
||||
{
|
||||
$arr = Result::OK('yay')->toArray();
|
||||
$this->assertNotNull($arr, 'The array should not have been null');
|
||||
$this->assertEquals(['yay'], $arr, 'The array was not created correctly');
|
||||
}
|
||||
|
||||
#[TestDox('ToArray succeeds for Error result')]
|
||||
public function testToArraySucceedsForErrorResult(): void
|
||||
{
|
||||
$arr = Result::Error('oh no')->toArray();
|
||||
$this->assertNotNull($arr, 'The array should not have been null');
|
||||
$this->assertEmpty($arr, 'The array should have been empty');
|
||||
}
|
||||
|
||||
#[TestDox('ToOption succeeds for OK result')]
|
||||
public function testToOptionSucceedsForOKResult()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user