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