*/ declare(strict_types = 1); use PHPUnit\Framework\TestCase; require_once __DIR__ . "/../src/NodaValidationHelper.php"; require_once __DIR__ . "/../../MDErrorReporter/exceptions/generic/MDgenericInvalidInputsException.php"; /** * This script contains tests for the validation of single field contents. */ final class NodaValidationHelperTest extends TestCase { /** * Test successfully refusing too short actor descriptions. * * @return void */ public function testActorDescriptionValidationFailsOnTooShortInput():void { $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("abc"); } /** * Test successfully refusing actor descriptions that have too few distinct characters. * * @return void */ public function testActorDescriptionValidationFailsOnTooFewDistinctCharacters():void { $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("aaaaaaaaaaaa"); } /** * Test successfully refusing actor descriptions that simply duplicate the actor name. * * @return void */ public function testActorDescriptionValidationFailsOnDuplicatedActorNames():void { $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("Richard Lepsius", ["Lepsius, Richard"]); $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("Richard Lepsius", ["Lepsius", "Richard"]); $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("Lepsius, Richard", ["Lepsius", "Richard"]); $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("Richard Lepsius, ", ["Lepsius", "Richard"]); $this->expectException(MDgenericInvalidInputsException::class); NodaValidationHelper::validateActorDescription("Helmut Testtest", ["Helmut Testtest", "Helmut Testtest", "Testtest, Helmut", "Helmut", "Testtest"]); } /** * Test that a valid description is accepted. * * @return void */ public function testActorDescriptionValidationAcceptsValidDescription():void { NodaValidationHelper::validateActorDescription("Richard Lepsius war ein Forscher", ["Lepsius", "Richard"]); self::assertTrue(true); } }