public function assert($input)
{
$e = [];
foreach ($this->checks as $chk) {
$this->collectAssertException($e, $chk, $input);
}
if (count($parts = explode('.', $input)) >= 2) {
$this->collectAssertException($e, $this->tld, array_pop($parts));
}
foreach ($parts as $p) {
$this->collectAssertException($e, $this->otherParts, $p);
}
if (count($e)) {
throw $this->reportError($input)->setRelated($e);
}
return true;
}