Skip to content

Commit

Permalink
Added Date::isNotBefore
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Kolb committed Sep 20, 2023
1 parent 74a37a3 commit 915b7d3
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/Date.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ public function isBefore(self $date): bool
return $this->toDateTimeImmutable() < $date->toDateTimeImmutable();
}

public function isNotBefore(self $date): bool
{
return !($this->toDateTimeImmutable() < $date->toDateTimeImmutable());
}

public function isBeforeOrEqualTo(self $date): bool
{
return $this->toDateTimeImmutable() <= $date->toDateTimeImmutable();
Expand Down
66 changes: 66 additions & 0 deletions tests/Date/IsNotBeforeTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?php

declare(strict_types=1);

namespace DigitalCraftsman\DateTimeParts\Date;

use DigitalCraftsman\DateTimeParts\Date;
use PHPUnit\Framework\TestCase;

/** @coversDefaultClass \DigitalCraftsman\DateTimeParts\Date */
final class IsNotBeforeTest extends TestCase
{
/**
* @test
*
* @dataProvider dataProvider
*
* @covers ::isNotBefore
*/
public function is_not_before_works(
bool $expectedResult,
Date $date,
Date $comparator,
): void {
// -- Act & Assert
self::assertSame($expectedResult, $date->isNotBefore($comparator));
}

/**
* @return array<string, array{
* 0: boolean,
* 1: Date,
* 2: Date,
* }>
*/
public function dataProvider(): array
{
return [
'previous year' => [
true,
Date::fromString('2022-10-08'),
Date::fromString('2021-10-08'),
],
'same date' => [
true,
Date::fromString('2022-10-08'),
Date::fromString('2022-10-08'),
],
'next year' => [
false,
Date::fromString('2022-10-08'),
Date::fromString('2023-10-08'),
],
'next month' => [
false,
Date::fromString('2022-10-08'),
Date::fromString('2022-11-08'),
],
'next day' => [
false,
Date::fromString('2022-10-08'),
Date::fromString('2022-10-09'),
],
];
}
}

0 comments on commit 915b7d3

Please sign in to comment.