/** @test */ public function reportsTrueWhenTwoValuesAreTheSame() { $string1 = new StringValue('Test'); $string2 = new StringValue('Test'); $criteria = new IsSameScalarValue($string1->toNative(), $string2->toNative()); $this->assertTrue($criteria->isSatisfied()); }
/** * @test * @covers PhpValueObjects\Common\Validation\Validator */ public function cannotValidateWhenOneElementOfMultipleCriteriaIsNotMet() { $string1 = new StringValue('Test'); $string2 = new StringValue('Another Test'); $spec1 = new IsSameClass($string1, $string2); $spec2 = new IsSameScalarValue($string1->toNative(), $string2->toNative()); $this->assertFalse(Validator::matchesSpecification($spec1, $spec2), "Unmet multiple criteria doesn't validate"); }
public function __construct(string $value) { $this->guardValueIsValidUuid($value); parent::__construct($value); }
/** * @test * @covers PhpValueObjects\Common\StringValue */ public function twoStringValueObjectsWithTheSameValueAreConsideredTheSame() { $string1 = new StringValue('Test'); $string2 = new StringValue('Test'); $this->assertTrue($string1->isSameAs($string2), 'isSameAs is true'); $this->assertTrue($string2->isSameAs($string1), 'isSameAs is true'); }