xref: /webtrees/tests/app/Census/CensusTest.php (revision d11be7027e34e3121be11cc025421873364403f9)
1<?php
2
3/**
4 * webtrees: online genealogy
5 * Copyright (C) 2023 webtrees development team
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17
18declare(strict_types=1);
19
20namespace Fisharebest\Webtrees\Census;
21
22use Fisharebest\Webtrees\TestCase;
23
24/**
25 * Test harness for the class Census
26 */
27class CensusTest extends TestCase
28{
29    /**
30     * @covers \Fisharebest\Webtrees\Census\Census
31     *
32     * @return void
33     */
34    public function testCensusPlacesCzech(): void
35    {
36        $censuses = Census::censusPlaces('cs');
37
38        self::assertCount(11, $censuses);
39        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[0]);
40        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[1]);
41        self::assertInstanceOf(CensusOfDenmark::class, $censuses[2]);
42        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[3]);
43        self::assertInstanceOf(CensusOfEngland::class, $censuses[4]);
44        self::assertInstanceOf(CensusOfFrance::class, $censuses[5]);
45        self::assertInstanceOf(CensusOfScotland::class, $censuses[6]);
46        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[7]);
47        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[8]);
48        self::assertInstanceOf(CensusOfWales::class, $censuses[9]);
49        self::assertInstanceOf(CensusOfCanada::class, $censuses[10]);
50    }
51
52    /**
53     * @covers \Fisharebest\Webtrees\Census\Census
54     *
55     * @return void
56     */
57    public function testCensusPlacesDanish(): void
58    {
59        $censuses = Census::censusPlaces('da');
60
61        self::assertCount(11, $censuses);
62        self::assertInstanceOf(CensusOfDenmark::class, $censuses[0]);
63        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[1]);
64        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[2]);
65        self::assertInstanceOf(CensusOfEngland::class, $censuses[3]);
66        self::assertInstanceOf(CensusOfFrance::class, $censuses[4]);
67        self::assertInstanceOf(CensusOfScotland::class, $censuses[5]);
68        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[6]);
69        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[7]);
70        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[8]);
71        self::assertInstanceOf(CensusOfWales::class, $censuses[9]);
72        self::assertInstanceOf(CensusOfCanada::class, $censuses[10]);
73    }
74
75    /**
76     * @covers \Fisharebest\Webtrees\Census\Census
77     *
78     * @return void
79     */
80    public function testCensusPlacesGerman(): void
81    {
82        $censuses = Census::censusPlaces('de');
83
84        self::assertCount(11, $censuses);
85        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[0]);
86        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[1]);
87        self::assertInstanceOf(CensusOfDenmark::class, $censuses[2]);
88        self::assertInstanceOf(CensusOfEngland::class, $censuses[3]);
89        self::assertInstanceOf(CensusOfFrance::class, $censuses[4]);
90        self::assertInstanceOf(CensusOfScotland::class, $censuses[5]);
91        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[6]);
92        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[7]);
93        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[8]);
94        self::assertInstanceOf(CensusOfWales::class, $censuses[9]);
95        self::assertInstanceOf(CensusOfCanada::class, $censuses[10]);
96    }
97
98    /**
99     * @covers \Fisharebest\Webtrees\Census\Census
100     *
101     * @return void
102     */
103    public function testCensusPlacesAustralianEnglish(): void
104    {
105        $censuses = Census::censusPlaces('en-AU');
106
107        self::assertCount(11, $censuses);
108        self::assertInstanceOf(CensusOfEngland::class, $censuses[0]);
109        self::assertInstanceOf(CensusOfScotland::class, $censuses[1]);
110        self::assertInstanceOf(CensusOfWales::class, $censuses[2]);
111        self::assertInstanceOf(CensusOfCanada::class, $censuses[3]);
112        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[4]);
113        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[5]);
114        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[6]);
115        self::assertInstanceOf(CensusOfDenmark::class, $censuses[7]);
116        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[8]);
117        self::assertInstanceOf(CensusOfFrance::class, $censuses[9]);
118        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[10]);
119    }
120
121    /**
122     * @covers \Fisharebest\Webtrees\Census\Census
123     *
124     * @return void
125     */
126    public function testCensusPlacesBritishEnglish(): void
127    {
128        $censuses = Census::censusPlaces('en-GB');
129
130        self::assertCount(11, $censuses);
131        self::assertInstanceOf(CensusOfEngland::class, $censuses[0]);
132        self::assertInstanceOf(CensusOfScotland::class, $censuses[1]);
133        self::assertInstanceOf(CensusOfWales::class, $censuses[2]);
134        self::assertInstanceOf(CensusOfCanada::class, $censuses[3]);
135        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[4]);
136        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[5]);
137        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[6]);
138        self::assertInstanceOf(CensusOfDenmark::class, $censuses[7]);
139        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[8]);
140        self::assertInstanceOf(CensusOfFrance::class, $censuses[9]);
141        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[10]);
142    }
143
144    /**
145     * @covers \Fisharebest\Webtrees\Census\Census
146     *
147     * @return void
148     */
149    public function testCensusPlacesUSEnglish(): void
150    {
151        $censuses = Census::censusPlaces('en-US');
152
153        self::assertCount(11, $censuses);
154        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[0]);
155        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[1]);
156        self::assertInstanceOf(CensusOfCanada::class, $censuses[2]);
157        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[3]);
158        self::assertInstanceOf(CensusOfDenmark::class, $censuses[4]);
159        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[5]);
160        self::assertInstanceOf(CensusOfEngland::class, $censuses[6]);
161        self::assertInstanceOf(CensusOfFrance::class, $censuses[7]);
162        self::assertInstanceOf(CensusOfScotland::class, $censuses[8]);
163        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[9]);
164        self::assertInstanceOf(CensusOfWales::class, $censuses[10]);
165    }
166
167    /**
168     * @covers \Fisharebest\Webtrees\Census\Census
169     *
170     * @return void
171     */
172    public function testCensusPlacesFrench(): void
173    {
174        $censuses = Census::censusPlaces('fr');
175
176        self::assertCount(11, $censuses);
177        self::assertInstanceOf(CensusOfFrance::class, $censuses[0]);
178        self::assertInstanceOf(CensusOfCanada::class, $censuses[1]);
179        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[2]);
180        self::assertInstanceOf(CensusOfDenmark::class, $censuses[3]);
181        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[4]);
182        self::assertInstanceOf(CensusOfEngland::class, $censuses[5]);
183        self::assertInstanceOf(CensusOfScotland::class, $censuses[6]);
184        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[7]);
185        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[8]);
186        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[9]);
187        self::assertInstanceOf(CensusOfWales::class, $censuses[10]);
188    }
189
190    /**
191     * @covers \Fisharebest\Webtrees\Census\Census
192     *
193     * @return void
194     */
195    public function testCensusPlacesCanadianFrench(): void
196    {
197        $censuses = Census::censusPlaces('fr-CA');
198
199        self::assertCount(11, $censuses);
200        self::assertInstanceOf(CensusOfCanada::class, $censuses[0]);
201        self::assertInstanceOf(CensusOfFrance::class, $censuses[1]);
202        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[2]);
203        self::assertInstanceOf(CensusOfDenmark::class, $censuses[3]);
204        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[4]);
205        self::assertInstanceOf(CensusOfEngland::class, $censuses[5]);
206        self::assertInstanceOf(CensusOfScotland::class, $censuses[6]);
207        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[7]);
208        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[8]);
209        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[9]);
210        self::assertInstanceOf(CensusOfWales::class, $censuses[10]);
211    }
212
213    /**
214     * @covers \Fisharebest\Webtrees\Census\Census
215     *
216     * @return void
217     */
218    public function testCensusPlacesSlovak(): void
219    {
220        $censuses = Census::censusPlaces('sk');
221
222        self::assertCount(11, $censuses);
223        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[0]);
224        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[1]);
225        self::assertInstanceOf(CensusOfDenmark::class, $censuses[2]);
226        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[3]);
227        self::assertInstanceOf(CensusOfEngland::class, $censuses[4]);
228        self::assertInstanceOf(CensusOfFrance::class, $censuses[5]);
229        self::assertInstanceOf(CensusOfScotland::class, $censuses[6]);
230        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[7]);
231        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[8]);
232        self::assertInstanceOf(CensusOfWales::class, $censuses[9]);
233        self::assertInstanceOf(CensusOfCanada::class, $censuses[10]);
234    }
235
236    /**
237     * @covers \Fisharebest\Webtrees\Census\Census
238     *
239     * @return void
240     */
241    public function testCensusPlacesDefault(): void
242    {
243        $censuses = Census::censusPlaces('XX');
244
245        self::assertCount(11, $censuses);
246        self::assertInstanceOf(CensusOfUnitedStates::class, $censuses[0]);
247        self::assertInstanceOf(CensusOfRhodeIsland::class, $censuses[1]);
248        self::assertInstanceOf(CensusOfEngland::class, $censuses[2]);
249        self::assertInstanceOf(CensusOfScotland::class, $censuses[3]);
250        self::assertInstanceOf(CensusOfWales::class, $censuses[4]);
251        self::assertInstanceOf(CensusOfDeutschland::class, $censuses[5]);
252        self::assertInstanceOf(CensusOfFrance::class, $censuses[6]);
253        self::assertInstanceOf(CensusOfCzechRepublic::class, $censuses[7]);
254        self::assertInstanceOf(CensusOfSlovakia::class, $censuses[8]);
255        self::assertInstanceOf(CensusOfDenmark::class, $censuses[9]);
256        self::assertInstanceOf(CensusOfCanada::class, $censuses[10]);
257    }
258}
259