Add class NodaValidationHelper, for now for validating actor
descriptions
This commit is contained in:
71
tests/NodaValidationHelperTest.php
Normal file
71
tests/NodaValidationHelperTest.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?PHP
|
||||
/**
|
||||
* This script contains tests for the validation of single field contents.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
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);
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user