for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace StraTDeS\VO\Tests\Single;
use StraTDeS\VO\Single\Name;
use PHPUnit\Framework\TestCase;
class NameTest extends TestCase
{
public function testGivenAValidNameAValidVOIsReturned(): void
// Arrange
$name = "John Smith";
// Act
$nameVO = Name::fromValue($name);
// Assert
$this->assertInstanceOf(Name::class, $nameVO);
$this->assertEquals($name, $nameVO->value());
}
public function testGivenAnInvalidEmailAnExceptionIsThrown(): void
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage("Name value must have at least one character");
$name = "";
Name::fromValue($name);
public function testGivenTwoEqualNamesEqualReturnsTrue(): void
$name1 = Name::fromValue("John Smith");
$name2 = Name::fromValue("John Smith");
$equal = $name1->equal($name2);
$this->assertTrue($equal);
public function testGivenTwoNotEqualNamesEqualReturnsFalse(): void
$name2 = Name::fromValue("William Wallace");
$this->assertFalse($equal);