*/ declare(strict_types = 1); use PHPUnit\Framework\TestCase; require_once __DIR__ . "/../src/NodaTimeSplitter.php"; require_once __DIR__ . "/../../MD_STD/MD_STD.php"; /** * Tests for home page. */ final class NodaTimeSplitterTest extends TestCase { /** * Test to check whether the HTML page is correctly generated. * * @author Joshua Ramon Enslin * @group ValidOutput * * @return void */ public function testSplitSimpleDatesHungarian():void { $output = NodaTimeSplitter::attempt_splitting("2020.01.02."); self::assertEquals($output, [ 0 => "2020", 1 => "2020", 2 => "01", 3 => "02", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "02.01.2020"); $output = NodaTimeSplitter::attempt_splitting("2020. Januar 2."); self::assertEquals($output, [ 0 => "2020", 1 => "2020", 2 => "01", 3 => "02", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "02.01.2020"); $output = NodaTimeSplitter::attempt_splitting("1920-tól 1929-ig"); self::assertEquals($output, [ 0 => "1920", 1 => "1929", 2 => "00", 3 => "00", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1920-1929"); $output = NodaTimeSplitter::attempt_splitting("1920-1929 között"); self::assertEquals($output, [ 0 => "1920", 1 => "1929", 2 => "00", 3 => "00", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1920-1929"); $output = NodaTimeSplitter::attempt_splitting("1920-től 1929-ig"); self::assertEquals($output, [ 0 => "1920", 1 => "1929", 2 => "00", 3 => "00", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1920-1929"); $output = NodaTimeSplitter::attempt_splitting("1920-es évek"); self::assertEquals($output, [ 0 => "1920", 1 => "1929", 2 => "00", 3 => "00", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "1920-1929"); $output = NodaTimeSplitter::attempt_splitting("2020. Januar"); self::assertEquals($output, [ 0 => "2020", 1 => "2020", 2 => "01", 3 => "00", 4 => "+", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 2020"); $output = NodaTimeSplitter::attempt_splitting("Kr. e. 2020. Januar"); self::assertEquals($output, [ 0 => "-2020", 1 => "-2020", 2 => "01", 3 => "00", 4 => "-", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Januar 2020 v. Chr."); $output = NodaTimeSplitter::attempt_splitting("Kr. e. 20. század"); self::assertEquals($output, [ 0 => "-2000", 1 => "-1901", 2 => "00", 3 => "00", 4 => "-", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "2000-1901 v. Chr."); $output = NodaTimeSplitter::attempt_splitting("Kr. e. 20.-19. század"); self::assertEquals($output, [ 0 => "-2000", 1 => "-1801", 2 => "00", 3 => "00", 4 => "-", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "2000-1801 v. Chr."); $output = NodaTimeSplitter::attempt_splitting("Kr. e. 20.-19. század-ig"); self::assertEquals($output, [ 0 => "?", 1 => "-1801", 2 => "00", 3 => "00", 4 => "-", 5 => "", ]); self::assertEquals(NodaTimeSplitter::timePartsToTimeName($output), "Bis 1801 v. Chr."); } /** * Test to check whether the HTML page is correctly generated. * * @author Joshua Ramon Enslin * @group ValidOutput * * @return void */ public function testSplitDoesNotWorkWhenItShouldNot():void { $output = NodaTimeSplitter::attempt_splitting(""); self::assertEquals($output, []); $output = NodaTimeSplitter::attempt_splitting("1.2.2020-2.2.2020"); self::assertEquals($output, []); $output = NodaTimeSplitter::attempt_splitting("2020 Januar 2-2020 Februar 2"); self::assertEquals($output, []); $output = NodaTimeSplitter::attempt_splitting("2020 Januar-2020 Februar"); self::assertEquals($output, []); $output = NodaTimeSplitter::attempt_splitting("Januar-Februar"); self::assertEquals($output, []); } }