for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace BenTools\Specification;
use BenTools\Specification\Exception\UnmetSpecificationException;
/**
* @param $specification
* @param null|string $name
* @return Specification
* @throws \RuntimeException
*/
function spec($specification, ?string $name = null): Specification
{
return Specification::factory($specification, $name);
}
function not($specification, ?string $name = null): Specification
return Specification::factory($specification)->negate($name);
function group($specification, ?string $name = null): Specification
return Specification::factory($specification)->asGroup($name);
* @param Specification[] ...$specifications
* @throws UnmetSpecificationException
function reject(Specification ...$specifications)
if ([] !== $specifications) {
UnmetSpecificationException::createFor(...$specifications)->throwIfUnmet();