ogsoft-example/tests/Unit/Services/WorkingDays/Date/MonToFriWorkingDayDeterminerTest.php

49 lines
1.3 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Tests\Unit\Services\WorkingDays\Date;
use App\Services\WorkingDays\Date\MonToFriWorkingDayDeterminer;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class MonToFriWorkingDayDeterminerTest extends TestCase
{
#[DataProvider('nonWorkingDayProvider')]
public function testIsWorkingDayWillReturnFalseForSatSan(int $day): void
{
$class = new MonToFriWorkingDayDeterminer();
$this->assertFalse($class->isWorkingDay(new \DateTimeImmutable("2024-01-0" . $day)));
}
/**
* @return array<int, array<int, int>>
*/
public static function nonWorkingDayProvider(): array
{
return [[6], [7]];
}
/**
* @return \Generator<int, array<int>>
*/
public static function workingDayProvider(): \Generator
{
for ($isNWD = 0; $isNWD <= 1; $isNWD++) {
for ($x = 1; $x <= 5; $x++) {
yield [$x];
}
}
}
#[DataProvider('workingDayProvider')]
public function testIsWorkingDayWillCallIsNWDForWorkingDaysAndReturnValue(int $day): void
{
$class = new MonToFriWorkingDayDeterminer();
$this->assertSame(true, $class->isWorkingDay(new \DateTimeImmutable("2024-01-0" . $day)));
}
}