diff options
Diffstat (limited to 'tests/unit/AutonameTest.php')
-rw-r--r-- | tests/unit/AutonameTest.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/unit/AutonameTest.php b/tests/unit/AutonameTest.php new file mode 100644 index 000000000..566fe6149 --- /dev/null +++ b/tests/unit/AutonameTest.php @@ -0,0 +1,81 @@ +<?php +/** + * this file contains tests for the autoname function + * + * @package test.util + */ + +use PHPUnit\Framework\TestCase; + +/** required, it is the file under test */ +require_once('include/text.php'); + +/** + * TestCase for the autoname function + * + * @author Alexander Kampmann + * @package test.util + */ +class AutonameTest extends TestCase { + /** + *autonames should be random, even length + */ + public function testAutonameEven() { + $autoname1=autoname(10); + $autoname2=autoname(10); + + $this->assertNotEquals($autoname1, $autoname2); + } + + /** + *autonames should be random, odd length + */ + public function testAutonameOdd() { + $autoname1=autoname(9); + $autoname2=autoname(9); + + $this->assertNotEquals($autoname1, $autoname2); + } + + /** + * try to fail autonames + */ + public function testAutonameNoLength() { + $autoname1=autoname(0); + $this->assertEquals(0, strlen($autoname1)); + } + + /** + * try to fail it with invalid input + * + * TODO: What's corect behaviour here? An exception? + */ + public function testAutonameNegativeLength() { + $autoname1=autoname(-23); + $this->assertEquals(0, strlen($autoname1)); + } + + // public function testAutonameMaxLength() { + // $autoname2=autoname(PHP_INT_MAX); + // $this->assertEquals(PHP_INT_MAX, strlen($autoname2)); + // } + + /** + * test with a length, that may be too short + * length is maximum - autoname can return something shorter. + */ + public function testAutonameLength1() { + $autoname1=autoname(1); + $test = ((strlen($autoname1) < 2) ? 1 : 0); + $this->assertEquals(1, $test); + + $autoname2=autoname(1); + $test = ((strlen($autoname2) < 2) ? 1 : 0); + $this->assertEquals(1, $test); + + // The following test is problematic, with only 26 possibilities + // generating the same thing twice happens often aka + // birthday paradox +// $this->assertFalse($autoname1==$autoname2); + } +} |