xref: /webtrees/tests/app/Elements/AgeAtEventTest.php (revision 5a8afed46297e8105e3e5a33ce37e6a8e88bc79d)
13d2c98d1SGreg Roach<?php
23d2c98d1SGreg Roach
33d2c98d1SGreg Roach/**
43d2c98d1SGreg Roach * webtrees: online genealogy
5d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
63d2c98d1SGreg Roach * This program is free software: you can redistribute it and/or modify
73d2c98d1SGreg Roach * it under the terms of the GNU General Public License as published by
83d2c98d1SGreg Roach * the Free Software Foundation, either version 3 of the License, or
93d2c98d1SGreg Roach * (at your option) any later version.
103d2c98d1SGreg Roach * This program is distributed in the hope that it will be useful,
113d2c98d1SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
123d2c98d1SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
133d2c98d1SGreg Roach * GNU General Public License for more details.
143d2c98d1SGreg Roach * You should have received a copy of the GNU General Public License
153d2c98d1SGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>.
163d2c98d1SGreg Roach */
173d2c98d1SGreg Roach
183d2c98d1SGreg Roachdeclare(strict_types=1);
193d2c98d1SGreg Roach
203d2c98d1SGreg Roachnamespace Fisharebest\Webtrees\Elements;
213d2c98d1SGreg Roach
22d4af76c4SGreg Roachuse Fisharebest\Webtrees\Tree;
23202c018bSGreg Roachuse PHPUnit\Framework\Attributes\CoversClass;
24d4af76c4SGreg Roach
25202c018bSGreg Roach#[CoversClass(AbstractElement::class)]
26202c018bSGreg Roach#[CoversClass(AgeAtEvent::class)]
27b66f5d1aSGreg Roachclass AgeAtEventTest extends AbstractElementTestCase
283d2c98d1SGreg Roach{
293d2c98d1SGreg Roach    /**
303d2c98d1SGreg Roach     * Standard tests for all elements.
313d2c98d1SGreg Roach     */
323d2c98d1SGreg Roach    public static function setupBeforeClass(): void
333d2c98d1SGreg Roach    {
343d2c98d1SGreg Roach        parent::setUpBeforeClass();
353d2c98d1SGreg Roach
363d2c98d1SGreg Roach        self::$element = new AgeAtEvent('label');
373d2c98d1SGreg Roach    }
383d2c98d1SGreg Roach
393d2c98d1SGreg Roach    public function testCanonical(): void
403d2c98d1SGreg Roach    {
416e60786aSGreg Roach        self::assertSame('CHILD', self::$element->canonical('cHiLd'));
426e60786aSGreg Roach        self::assertSame('INFANT', self::$element->canonical('iNfAnT '));
436e60786aSGreg Roach        self::assertSame('STILLBORN', self::$element->canonical(' sTiLlBoRn'));
444e9f79fbSGreg Roach        self::assertSame('fish', self::$element->canonical('fIsH'));
454e9f79fbSGreg Roach        self::assertSame('1y 2m 3d', self::$element->canonical('1Y  2M  3D'));
46d4af76c4SGreg Roach    }
47d4af76c4SGreg Roach
48d4af76c4SGreg Roach    public function testValue(): void
49d4af76c4SGreg Roach    {
50*62ff2f18SGreg Roach        $tree = $this->createMock(Tree::class);
51d4af76c4SGreg Roach
52d4af76c4SGreg Roach        self::assertSame('child', self::$element->value('cHiLd', $tree));
53d4af76c4SGreg Roach        self::assertSame('infant', self::$element->value('iNfAnT ', $tree));
54d4af76c4SGreg Roach        self::assertSame('stillborn', self::$element->value(' sTiLlBoRn', $tree));
554e9f79fbSGreg Roach        self::assertSame('fish', self::$element->value('fIsH', $tree));
56d4af76c4SGreg Roach        self::assertSame('1 year 2 months 3 days', self::$element->value('1Y  2M  3D', $tree));
573d2c98d1SGreg Roach    }
583d2c98d1SGreg Roach}
59