events/Tests/Unit/Domain/Model/DateTest.php

93 lines
2 KiB
PHP

<?php
namespace Wrm\Events\Tests\Unit\Domain\Model;
use PHPUnit\Framework\TestCase;
use Wrm\Events\Domain\Model\Date;
/**
* @covers \Wrm\Events\Domain\Model\Date
*/
class DateTest extends TestCase
{
/**
* @test
*/
public function canBeCreated(): void
{
$subject = new Date();
self::assertInstanceOf(
Date::class,
$subject
);
}
/**
* @test
*/
public function returnsThatItHasUsefulStartTime(): void
{
$subject = new Date();
$subject->setStart(new \DateTime('2022-07-11T13:48:00'));
self::assertTrue($subject->getHasUsefulStartTime());
}
/**
* @test
*/
public function returnsThatItDoesNotHaveUsefulStartTime(): void
{
$subject = new Date();
$subject->setStart(new \DateTime('2022-07-11T00:00:00'));
self::assertFalse($subject->getHasUsefulStartTime());
}
/**
* @test
*/
public function returnsThatItHasUsefulEndTime(): void
{
$subject = new Date();
$subject->setEnd(new \DateTime('2022-07-11T00:00:00'));
self::assertTrue($subject->getHasUsefulEndTime());
}
/**
* @test
*/
public function returnsThatItDoesNotHaveUsefulEndTime(): void
{
$subject = new Date();
$subject->setEnd(new \DateTime('2022-07-11T23:59:00'));
self::assertFalse($subject->getHasUsefulEndTime());
}
/**
* @test
*/
public function returnsThatItEndsOnSameDay(): void
{
$subject = new Date();
$subject->setStart(new \DateTime('2022-07-11T14:00:00'));
$subject->setEnd(new \DateTime('2022-07-11T22:00:00'));
self::assertTrue($subject->getEndsOnSameDay());
}
/**
* @test
*/
public function returnsThatItDoesNotEndOnSameDay(): void
{
$subject = new Date();
$subject->setStart(new \DateTime('2022-07-11T14:00:00'));
$subject->setEnd(new \DateTime('2022-07-13T22:00:00'));
self::assertFalse($subject->getEndsOnSameDay());
}
}