View Javadoc
1   /*
2    * Copyright (C) 2020-2023 Dipl.-Inform. Kai Hofmann. All rights reserved!
3    */
4   package de.powerstat.validation.values.test;
5   
6   
7   import static org.junit.jupiter.api.Assertions.assertAll;
8   import static org.junit.jupiter.api.Assertions.assertEquals;
9   import static org.junit.jupiter.api.Assertions.assertFalse;
10  import static org.junit.jupiter.api.Assertions.assertNotEquals;
11  import static org.junit.jupiter.api.Assertions.assertNotNull;
12  import static org.junit.jupiter.api.Assertions.assertThrows;
13  import static org.junit.jupiter.api.Assertions.assertTrue;
14  
15  import org.junit.jupiter.api.Test;
16  
17  import de.powerstat.validation.values.Address;
18  import de.powerstat.validation.values.BFPONumber;
19  import de.powerstat.validation.values.Block;
20  import de.powerstat.validation.values.BuildingName;
21  import de.powerstat.validation.values.BuildingNr;
22  import de.powerstat.validation.values.City;
23  import de.powerstat.validation.values.Country;
24  import de.powerstat.validation.values.Department;
25  import de.powerstat.validation.values.District;
26  import de.powerstat.validation.values.Lines;
27  import de.powerstat.validation.values.Neighbourhood;
28  import de.powerstat.validation.values.PoBoxNumber;
29  import de.powerstat.validation.values.PostalCode;
30  import de.powerstat.validation.values.Province;
31  import de.powerstat.validation.values.Street;
32  import de.powerstat.validation.values.SubBuilding;
33  import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
34  
35  
36  /**
37   * Address tests.
38   */
39  @SuppressFBWarnings({"EC_NULL_ARG", "RV_NEGATING_RESULT_OF_COMPARETO", "RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT", "SPP_USE_ZERO_WITH_COMPARATOR", "PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS"})
40  final class AddressTests
41   {
42    /**
43     * Line break unix.
44     */
45    private static final String LINEBREAK_UNIX = "\n"; //$NON-NLS-1$
46  
47    /**
48     * Line break windows.
49     */
50    private static final String LINEBREAK_WIN = "\r\n"; //$NON-NLS-1$
51  
52    /**
53     * Street name.
54     */
55    private static final String ARBERGER_HEERSTR = "Arberger Heerstr."; //$NON-NLS-1$
56  
57    /**
58     * Street name.
59     */
60    private static final String BIBLIOTHEKSTRASSE = "Bibliothekstraße"; //$NON-NLS-1$
61  
62    /**
63     * Test street.
64     */
65    private static final String TEST_STR = "Test str."; //$NON-NLS-1$
66  
67    /**
68     * City name.
69     */
70    private static final String BREMEN = "Bremen"; //$NON-NLS-1$
71  
72    /**
73     * City name.
74     */
75    private static final String HANNOVER = "Hannover"; //$NON-NLS-1$
76  
77    /**
78     * City name.
79     */
80    private static final String AICHI = "AICHI"; //$NON-NLS-1$
81  
82    /**
83     * City name.
84     */
85    private static final String BEDFORDSHIRE = "Bedfordshire"; //$NON-NLS-1$
86  
87    /**
88     * Postal code.
89     */
90    private static final String POSTALCODE28307 = "28307"; //$NON-NLS-1$
91  
92    /**
93     * Postal code.
94     */
95    private static final String POSTALCODE28359 = "28359"; //$NON-NLS-1$
96  
97    /**
98     * Postal code.
99     */
100   private static final String POSTALCODE_GB = "AL3 8QE"; //$NON-NLS-1$
101 
102   /**
103    * Postal code.
104    */
105   private static final String POSTALCODE_JP = "4434567"; //$NON-NLS-1$
106 
107   /**
108    * Postal code.
109    */
110   private static final String POSTALCODE_HK = "12345"; //$NON-NLS-1$
111 
112   /**
113    * Building nr.
114    */
115   private static final String BUILDINGNR0815 = "0815"; //$NON-NLS-1$
116 
117   /**
118    * Postal code.
119    */
120   private static final String POSTALCODE4711 = "4711"; //$NON-NLS-1$
121 
122   /**
123    * Test city.
124    */
125   private static final String TESTCITY = "Testcity"; //$NON-NLS-1$
126 
127   /**
128    * Test building.
129    */
130   private static final String TESTBUILDING = "Testbuilding"; //$NON-NLS-1$
131 
132   /**
133    * Test building.
134    */
135   private static final String TEST_BUILDING = "TestBuilding"; //$NON-NLS-1$
136 
137   /**
138    * Building.
139    */
140   private static final String BUILDING = "Building"; //$NON-NLS-1$
141 
142   /**
143    * Test sub building.
144    */
145   private static final String TEST_SUB_BUILDING = "TestSubBuilding"; //$NON-NLS-1$
146 
147   /**
148    * Sub building.
149    */
150   private static final String SUBBUILDING = "SubB"; //$NON-NLS-1$
151 
152   /**
153    * Test province.
154    */
155   private static final String TESTPROVINCE = "Testprovince"; //$NON-NLS-1$
156 
157   /**
158    * District 9.
159    */
160   private static final String DISTRICT = "9"; //$NON-NLS-1$
161 
162   /**
163    * Test block 13.
164    */
165   private static final String TESTBLOCK13 = "Testblock13"; //$NON-NLS-1$
166 
167   /**
168    * Block.
169    */
170   private static final String BLK = "blk"; //$NON-NLS-1$
171 
172   /**
173    * Test district.
174    */
175   private static final String TESTDISTRICT = "Testdistrict"; //$NON-NLS-1$
176 
177   /**
178    * Test neighbour.
179    */
180   private static final String TESTNEIGHBOUR = "Testneighbour"; //$NON-NLS-1$
181 
182   /**
183    * Neighbour.
184    */
185   private static final String NEIGHBOUR = "neighbour"; //$NON-NLS-1$
186 
187   /**
188    * Test department.
189    */
190   private static final String TESTDEPARTMENT = "Testdepartment"; //$NON-NLS-1$
191 
192   /**
193    * Test lines.
194    */
195   private static final String TESTLINES = "Testlines"; //$NON-NLS-1$
196 
197   /**
198    * Test.
199    */
200   private static final String TEST = "test"; //$NON-NLS-1$
201 
202   /**
203    * Test.
204    */
205   private static final String TEST2 = "Test"; //$NON-NLS-1$
206 
207   /**
208    * Kai Hofmann.
209    */
210   private static final String KAI_HOFMANN = "Kai Hofmann"; //$NON-NLS-1$
211 
212   /**
213    * Address is null constant.
214    */
215   private static final String ADDRESS_IS_NULL = "Address is null"; //$NON-NLS-1$
216 
217   /**
218    * Constructor constant.
219    */
220   private static final String CONSTRUCTOR = "constructor"; //$NON-NLS-1$
221 
222   /**
223    * Building nr 92.
224    */
225   private static final String BUILDINGNR92 = "92"; //$NON-NLS-1$
226 
227   /**
228    * Building nr 1.
229    */
230   private static final String BUIDINGNR1 = "1"; //$NON-NLS-1$
231 
232   /**
233    * DE germany.
234    */
235   private static final String DE = "DE"; //$NON-NLS-1$
236 
237   /**
238    * GB great britain.
239    */
240   private static final String GB = "GB"; //$NON-NLS-1$
241 
242   /**
243    * JP japan.
244    */
245   private static final String JP = "JP"; //$NON-NLS-1$
246 
247   /**
248    * HK hong kong.
249    */
250   private static final String HK = "HK"; //$NON-NLS-1$
251 
252   /**
253    * "Wrong buildingNr constant.
254    */
255   private static final String WRONG_BUILDING_NR = "Wrong buildingNr"; //$NON-NLS-1$
256 
257   /**
258    * Wrong street constant.
259    */
260   private static final String WRONG_STREET = "Wrong street"; //$NON-NLS-1$
261 
262   /**
263    * Wrong city constant.
264    */
265   private static final String WRONG_CITY = "Wrong city"; //$NON-NLS-1$
266 
267   /**
268    * Wrong postalCode constant.
269    */
270   private static final String WRONG_POSTAL_CODE = "Wrong postalCode"; //$NON-NLS-1$
271 
272   /**
273    * Wrong country constant.
274    */
275   private static final String WRONG_COUNTRY = "Wrong country"; //$NON-NLS-1$
276 
277   /**
278    * Wrong po box number constant.
279    */
280   private static final String WRONG_PO_BOX_NUMBER = "Wrong poBoxNumber"; //$NON-NLS-1$
281 
282   /**
283    * Wrong address constant.
284    */
285   private static final String WRONG_ADDRESS = "Wrong address"; //$NON-NLS-1$
286 
287   /**
288    * Test equals constant.
289    */
290   private static final String TEST_EQUALS = "testEquals"; //$NON-NLS-1$
291 
292   /**
293    * ToString not equal constant.
294    */
295   private static final String TO_STRING_NOT_EQUAL = "toString not equal"; //$NON-NLS-1$
296 
297   /**
298    * Illegal argument exception constant.
299    */
300   private static final String ILLEGAL_ARGUMENT_EXCEPTION = "Illegal argument exception"; //$NON-NLS-1$
301 
302   /**
303    * Suppress sonarqube warning.
304    */
305   private static final String JAVA_S5785 = "java:S5785"; //$NON-NLS-1$
306 
307 
308   /**
309    * Default constructor.
310    */
311   /* default */ AddressTests()
312    {
313     super();
314    }
315 
316 
317   /**
318    * Constructor/factory test.
319    */
320   @Test
321   /* default */ void testConstructor1()
322    {
323     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
324     assertAll(AddressTests.CONSTRUCTOR,
325       () -> assertNotNull(address, AddressTests.ADDRESS_IS_NULL),
326       () -> assertEquals(AddressTests.DE, address.getCountry().stringValue(), AddressTests.WRONG_COUNTRY),
327       () -> assertEquals(AddressTests.POSTALCODE28307, address.getPostalCode().stringValue(), AddressTests.WRONG_POSTAL_CODE),
328       () -> assertEquals(AddressTests.BREMEN, address.getCity().stringValue(), AddressTests.WRONG_CITY),
329       () -> assertEquals(AddressTests.ARBERGER_HEERSTR, address.getStreet().stringValue(), AddressTests.WRONG_STREET),
330       () -> assertEquals(AddressTests.BUILDINGNR92, address.getBuildingNr().stringValue(), AddressTests.WRONG_BUILDING_NR)
331     );
332    }
333 
334 
335   /**
336    * Constructor/Factory test.
337    */
338   @Test
339   /* default */ void testConstructor2()
340    {
341     // Province province, District district, ,, BuildingName buildingName, SubBuilding subBuilding, PoBoxNumber poBoxNumber, Department department, Neighbourhood neighbourhood, Block block, BFPONumber bFPONumber, Lines lines
342     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, null, null, null, null, PoBoxNumber.of(12345), null, null, null, null, null);
343     assertAll(AddressTests.CONSTRUCTOR,
344       () -> assertNotNull(address, AddressTests.ADDRESS_IS_NULL),
345       () -> assertEquals(AddressTests.DE, address.getCountry().stringValue(), AddressTests.WRONG_COUNTRY),
346       () -> assertEquals(AddressTests.POSTALCODE28307, address.getPostalCode().stringValue(), AddressTests.WRONG_POSTAL_CODE),
347       () -> assertEquals(AddressTests.BREMEN, address.getCity().stringValue(), AddressTests.WRONG_CITY),
348       () -> assertEquals(12345, address.getPoBoxNumber().longValue(), AddressTests.WRONG_PO_BOX_NUMBER)
349     );
350    }
351 
352 
353   /**
354    * Constructor/Factory test.
355    */
356   @Test
357   /* default */ void testConstructor3()
358    {
359     // Province province, District district, ,, BuildingName buildingName, SubBuilding subBuilding, PoBoxNumber poBoxNumber, Department department, Neighbourhood neighbourhood, Block block, BFPONumber bFPONumber, Lines lines
360     final Address address = Address.of("DE,28307,Bremen,,,,,,,12345,,,,,");
361     assertAll(AddressTests.CONSTRUCTOR,
362       () -> assertNotNull(address, AddressTests.ADDRESS_IS_NULL),
363       () -> assertEquals(AddressTests.DE, address.getCountry().stringValue(), AddressTests.WRONG_COUNTRY),
364       () -> assertEquals(AddressTests.POSTALCODE28307, address.getPostalCode().stringValue(), AddressTests.WRONG_POSTAL_CODE),
365       () -> assertEquals(AddressTests.BREMEN, address.getCity().stringValue(), AddressTests.WRONG_CITY),
366       () -> assertEquals(12345, address.getPoBoxNumber().longValue(), AddressTests.WRONG_PO_BOX_NUMBER)
367     );
368    }
369 
370 
371   /**
372    * Constructor/Factory test.
373    */
374   @Test
375   /* default */ void testConstructor4()
376    {
377     assertThrows(IllegalArgumentException.class, () ->
378      {
379       // Province province, District district, ,, BuildingName buildingName, SubBuilding subBuilding, PoBoxNumber poBoxNumber, Department department, Neighbourhood neighbourhood, Block block, BFPONumber bFPONumber, Lines lines
380       /* final Address address = */ Address.of("");
381      }, ILLEGAL_ARGUMENT_EXCEPTION
382     );
383    }
384 
385 
386   /**
387    * Constructor/Factory test.
388    */
389   @Test
390   /* default */ void testCnstructor5()
391    {
392     assertThrows(IllegalArgumentException.class, () ->
393      {
394       // Province province, District district, ,, BuildingName buildingName, SubBuilding subBuilding, PoBoxNumber poBoxNumber, Department department, Neighbourhood neighbourhood, Block block, BFPONumber bFPONumber, Lines lines
395       /* final Address address = */ Address.of("DE,28307,Bremen,,,,,,,12345,,,,,,1");
396      }, ILLEGAL_ARGUMENT_EXCEPTION
397     );
398    }
399 
400 
401   /**
402    * Constructor/Factory test.
403    */
404   @Test
405   /* default */ void testConstructor6()
406    {
407     // Province province, District district, ,, BuildingName buildingName, SubBuilding subBuilding, PoBoxNumber poBoxNumber, Department department, Neighbourhood neighbourhood, Block block, BFPONumber bFPONumber, Lines lines
408     final Address address = Address.of("DE,28307,Bremen,,,,,,,12345,,,,,Lines");
409     assertAll(AddressTests.CONSTRUCTOR,
410       () -> assertNotNull(address, AddressTests.ADDRESS_IS_NULL),
411       () -> assertEquals(AddressTests.DE, address.getCountry().stringValue(), AddressTests.WRONG_COUNTRY),
412       () -> assertEquals(AddressTests.POSTALCODE28307, address.getPostalCode().stringValue(), AddressTests.WRONG_POSTAL_CODE),
413       () -> assertEquals(AddressTests.BREMEN, address.getCity().stringValue(), AddressTests.WRONG_CITY),
414       () -> assertEquals(12345, address.getPoBoxNumber().longValue(), AddressTests.WRONG_PO_BOX_NUMBER)
415       // Lines
416     );
417    }
418 
419 
420   /**
421    * Test string value.
422    */
423   @Test
424   /* default */ void testStringValue()
425    {
426     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, null, null, null, null, PoBoxNumber.of(12345), null, null, null, null, null);
427     assertEquals("\nPostfach 12345\n28307 Bremen\n\n", address.stringValue().replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n'), "Address not as expected");
428    }
429 
430 
431   /**
432    * Test hash code.
433    */
434   @Test
435   /* default */ void testHashCode()
436    {
437     final Address address1 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
438     final Address address2 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
439     final Address address3 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28359), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.BIBLIOTHEKSTRASSE), BuildingNr.of(AddressTests.BUIDINGNR1), null, null, null, null, null, null, null, null);
440     assertAll("testHashCode", //$NON-NLS-1$
441       () -> assertEquals(address1.hashCode(), address2.hashCode(), "hashCodes are not equal"), //$NON-NLS-1$
442       () -> assertNotEquals(address1.hashCode(), address3.hashCode(), "hashCodes are equal") //$NON-NLS-1$
443     );
444    }
445 
446 
447   /**
448    * Test equals.
449    */
450   @Test
451   @SuppressWarnings(JAVA_S5785)
452   /* default */ void testEquals()
453    {
454     final Address address1 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
455     final Address address2 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
456     final Address address3 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28359), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.BIBLIOTHEKSTRASSE), BuildingNr.of(AddressTests.BUIDINGNR1), null, null, null, null, null, null, null, null);
457     final Address address4 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
458     assertAll(AddressTests.TEST_EQUALS,
459       () -> assertTrue(address1.equals(address1), "address11 is not equal"), //$NON-NLS-1$
460       () -> assertTrue(address1.equals(address2), "address12 are not equal"), //$NON-NLS-1$
461       () -> assertTrue(address2.equals(address1), "address21 are not equal"), //$NON-NLS-1$
462       () -> assertTrue(address2.equals(address4), "address24 are not equal"), //$NON-NLS-1$
463       () -> assertTrue(address1.equals(address4), "address14 are not equal"), //$NON-NLS-1$
464       () -> assertFalse(address1.equals(address3), "address13 are equal"), //$NON-NLS-1$
465       () -> assertFalse(address3.equals(address1), "address31 are equal"), //$NON-NLS-1$
466       () -> assertFalse(address1.equals(null), "address10 is equal") //$NON-NLS-1$
467     );
468    }
469 
470 
471   /**
472    * Test equals.
473    */
474   @Test
475   @SuppressWarnings(JAVA_S5785)
476   /* default */ void testEquals2()
477    {
478     final Address address1 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of("Test1")); //$NON-NLS-1$
479     final Address address2 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of("Test2")); //$NON-NLS-1$
480     assertFalse(address1.equals(address2), "address12 is not equal"); //$NON-NLS-1$
481    }
482 
483 
484   /**
485    * Test not equals.
486    */
487   @Test
488   @SuppressWarnings(JAVA_S5785)
489   /* default */ void testNotEquals()
490    {
491     final Address address1 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
492     final Address address2 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of(AddressTests.TEST2));
493     final Address address3 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.HANNOVER), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
494     final Address address4 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.BIBLIOTHEKSTRASSE), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
495     final Address address5 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUIDINGNR1), null, null, null, null, null, null, null, null);
496     final Address address6 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), Province.of(AddressTests.TESTPROVINCE), null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
497     final Address address7 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
498     final Address address8 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), BuildingName.of(AddressTests.TEST2), null, null, null, null, null, null, null);
499     final Address address9 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, SubBuilding.of(AddressTests.SUBBUILDING), null, null, null, null, null, null);
500     final Address address10 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, PoBoxNumber.of(1), null, null, null, null, null);
501     final Address address11 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, Department.of(AddressTests.TESTDEPARTMENT), null, null, null, null);
502     final Address address12 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), null, null, null);
503     final Address address13 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, Block.of(AddressTests.TESTBLOCK13), null, null);
504     final Address address14 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, BFPONumber.of(1), null);
505     assertAll(AddressTests.TEST_EQUALS,
506       () -> assertFalse(address1.equals(new Object()), "address1o is equal"), //$NON-NLS-1$
507       () -> assertFalse(address1.equals(address2), "address12 is equal"), //$NON-NLS-1$
508       () -> assertFalse(address1.equals(address3), "address13 is equal"), //$NON-NLS-1$
509       () -> assertFalse(address1.equals(address4), "address14 is equal"), //$NON-NLS-1$
510       () -> assertFalse(address1.equals(address5), "address15 is equal"), //$NON-NLS-1$
511       () -> assertFalse(address1.equals(address6), "address16 is equal"), //$NON-NLS-1$
512       () -> assertFalse(address1.equals(address7), "address17 is equal"), //$NON-NLS-1$
513       () -> assertFalse(address1.equals(address8), "address18 is equal"), //$NON-NLS-1$
514       () -> assertFalse(address1.equals(address9), "address19 is equal"), //$NON-NLS-1$
515       () -> assertFalse(address1.equals(address10), "address1a is equal"), //$NON-NLS-1$
516       () -> assertFalse(address1.equals(address11), "address1b is equal"), //$NON-NLS-1$
517       () -> assertFalse(address1.equals(address12), "address1c is equal"), //$NON-NLS-1$
518       () -> assertFalse(address1.equals(address13), "address1d is equal"), //$NON-NLS-1$
519       () -> assertFalse(address1.equals(address14), "address1e is equal") //$NON-NLS-1$
520     );
521    }
522 
523 
524   /**
525    * Test toString.
526    */
527   @Test
528   /* default */ void testToString1()
529    {
530     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(4711), Department.of(AddressTests.TEST2), Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of(AddressTests.BLK), BFPONumber.of(1), Lines.of(AddressTests.TEST2));
531     assertEquals("Address[country=DE, postalCode=28307, city=Bremen, province=Test, district=9, street=Arberger Heerstr., buildingNr=92, buildingName=TestBuilding, subBuilding=SubB, poBoxNumber=4711, department=Test, neighbourhood=neighbour, block=blk, bFPONumber=1, lines=Test]", address.toString(), AddressTests.TO_STRING_NOT_EQUAL); //$NON-NLS-1$
532    }
533 
534 
535   /**
536    * Test toString.
537    */
538   @Test
539   /* default */ void testToString2()
540    {
541     final Address address = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of(AddressTests.TEST2));
542     assertEquals("Address[country=GB, postalCode=AL3 8QE, city=Bedfordshire, department=test, bFPONumber=1, lines=Test]", address.toString(), AddressTests.TO_STRING_NOT_EQUAL); //$NON-NLS-1$
543    }
544 
545 
546   /**
547    * Test toString.
548    */
549   @Test
550   /* default */ void testToString3()
551    {
552     final Address address = Address.of(Country.of(AddressTests.HK), null, null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);
553     assertEquals("Address[country=HK, district=9, street=Test str., buildingNr=4711, buildingName=TestBuilding, subBuilding=SubB, poBoxNumber=1]", address.toString(), AddressTests.TO_STRING_NOT_EQUAL); //$NON-NLS-1$
554    }
555 
556 
557   /**
558    * Test toString.
559    */
560   @Test
561   /* default */ void testToString4()
562    {
563     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of(AddressTests.BLK), null, null);
564     assertEquals("Address[country=JP, postalCode=4434567, city=AICHI, province=Test, district=9, buildingNr=4711, buildingName=Building, neighbourhood=neighbour, block=blk]", address.toString(), AddressTests.TO_STRING_NOT_EQUAL); //$NON-NLS-1$
565    }
566 
567 
568   /**
569    * Test compareTo.
570    */
571   @Test
572   @SuppressWarnings(JAVA_S5785)
573   /* default */ void testCompareTo()
574    {
575     final Address address1 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
576     final Address address2 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
577     final Address address3 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28359), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.BIBLIOTHEKSTRASSE), BuildingNr.of(AddressTests.BUIDINGNR1), null, null, null, null, null, null, null, null);
578     final Address address4 = Address.of(Country.of(AddressTests.DE), PostalCode.of("28757"), City.of(AddressTests.BREMEN), null, null, Street.of("Gerhard-Rohlfs-Straße"), BuildingNr.of("62"), null, null, null, null, null, null, null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
579     final Address address5 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
580     assertAll("testCompareTo", //$NON-NLS-1$
581       () -> assertTrue(address1.compareTo(address2) == -address2.compareTo(address1), "reflexive1"), //$NON-NLS-1$
582       () -> assertTrue(address1.compareTo(address3) == -address3.compareTo(address1), "reflexive2"), //$NON-NLS-1$
583       () -> assertTrue((address4.compareTo(address3) > 0) && (address3.compareTo(address1) > 0) && (address4.compareTo(address1) > 0), "transitive1"), //$NON-NLS-1$
584       () -> assertTrue((address1.compareTo(address2) == 0) && (Math.abs(address1.compareTo(address5)) == Math.abs(address2.compareTo(address5))), "sgn1"), //$NON-NLS-1$
585       () -> assertTrue((address1.compareTo(address2) == 0) && address1.equals(address2), "equals") //$NON-NLS-1$
586     );
587    }
588 
589 
590   /**
591    * Test not compareTo.
592    */
593   @Test
594   @SuppressWarnings(JAVA_S5785)
595   /* default */ void testNotCompareTo()
596    {
597     final Address address1 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
598     final Address address2 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of(AddressTests.TEST2));
599     final Address address3 = Address.of(Country.of(AddressTests.HK), PostalCode.of(AddressTests.POSTALCODE_HK), null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);
600     final Address address4 = Address.of(Country.of(AddressTests.HK), null, null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);
601     final Address address5 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.HANNOVER), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
602     final Address address6 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of("Bibliotheksstr."), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null); //$NON-NLS-1$
603     final Address address7 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUIDINGNR1), null, null, null, null, null, null, null, null);
604     final Address address8 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of("testa"), null, null, BFPONumber.of(1), Lines.of(AddressTests.TEST2)); //$NON-NLS-1$
605     final Address address9 = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(2), Lines.of(AddressTests.TEST2));
606     final Address address10 = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), Province.of(AddressTests.TESTPROVINCE), null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
607     final Address address11 = Address.of(Country.of(AddressTests.HK), PostalCode.of(AddressTests.POSTALCODE_HK), null, null, District.of("13"), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);   //$NON-NLS-1$
608     final Address address12 = Address.of(Country.of(AddressTests.HK), PostalCode.of(AddressTests.POSTALCODE_HK), null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);
609     final Address address13 = Address.of(Country.of(AddressTests.HK), PostalCode.of(AddressTests.POSTALCODE_HK), null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of("SubC"), PoBoxNumber.of(1), null, null, null, null, null);   //$NON-NLS-1$
610     final Address address14 = Address.of(Country.of(AddressTests.HK), PostalCode.of(AddressTests.POSTALCODE_HK), null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(2), null, null, null, null, null);
611     final Address address15 = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of(AddressTests.BLK), null, null);
612     final Address address16 = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of("neighbour2"), Block.of(AddressTests.BLK), null, null); //$NON-NLS-1$
613     final Address address17 = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of("blk2"), null, null); //$NON-NLS-1$
614     assertAll("testNotCompareTo", //$NON-NLS-1$
615       () -> assertTrue(address1.compareTo(address2) != 0, "address12 equal"), //$NON-NLS-1$
616       () -> assertTrue(address3.compareTo(address4) != 0, "address34 equal"), //$NON-NLS-1$
617       () -> assertTrue(address4.compareTo(address3) != 0, "address43 equal"), //$NON-NLS-1$
618       () -> assertTrue(address1.compareTo(address5) != 0, "address15 equal"), //$NON-NLS-1$
619       () -> assertTrue(address1.compareTo(address6) != 0, "address16 equal"), //$NON-NLS-1$
620       () -> assertTrue(address1.compareTo(address7) != 0, "address17 equal"), //$NON-NLS-1$
621       () -> assertTrue(address2.compareTo(address8) != 0, "address18 equal"), //$NON-NLS-1$
622       () -> assertTrue(address2.compareTo(address9) != 0, "address19 equal"), //$NON-NLS-1$
623       () -> assertTrue(address1.compareTo(address10) != 0, "address1a equal"), //$NON-NLS-1$
624       () -> assertTrue(address3.compareTo(address11) != 0, "address3b equal"), //$NON-NLS-1$
625       () -> assertTrue(address3.compareTo(address12) != 0, "address3c equal"), //$NON-NLS-1$
626       () -> assertTrue(address3.compareTo(address13) != 0, "address3d equal"), //$NON-NLS-1$
627       () -> assertTrue(address3.compareTo(address14) != 0, "address3e equal"), //$NON-NLS-1$
628       () -> assertTrue(address15.compareTo(address16) != 0, "address0f10 equal"), //$NON-NLS-1$
629       () -> assertTrue(address15.compareTo(address17) != 0, "address0f11 equal") //$NON-NLS-1$
630     );
631    }
632 
633 
634   /**
635    * Get formatted address test.
636    */
637   @Test
638   /* default */ void testGetFormattedAddress1()
639    {
640     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
641     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
642     assertEquals("Kai Hofmann\nArberger Heerstr. 92\n28307 Bremen\n\n", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
643    }
644 
645 
646   /**
647    * Get formatted address test.
648    */
649   @Test
650   /* default */ void testGetFormattedAddress2()
651    {
652     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, null, null, null, null, PoBoxNumber.of(4711), null, null, null, null, null);
653     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
654     assertEquals("Kai Hofmann\nPostfach 4711\n28307 Bremen\n\n", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
655    }
656 
657 
658   /**
659    * Get formatted address test.
660    */
661   @Test
662   /* default */ void testGetFormattedAddress3()
663    {
664     final Address address = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE_GB), City.of(AddressTests.BEDFORDSHIRE), null, null, null, null, null, null, null, Department.of(AddressTests.TEST), null, null, BFPONumber.of(1), Lines.of(AddressTests.TEST2));
665     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
666     assertEquals("Kai Hofmann\ntest\nTest\nBedfordshire\nAL3 8QE\n1\n\n", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
667    }
668 
669 
670   /**
671    * Get formatted address test.
672    */
673   @Test
674   /* default */ void testGetFormattedAddress4()
675    {
676     final Address address = Address.of(Country.of(AddressTests.HK), null, null, null, District.of(AddressTests.DISTRICT), Street.of(AddressTests.TEST_STR), BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.TEST_BUILDING), SubBuilding.of(AddressTests.SUBBUILDING), PoBoxNumber.of(1), null, null, null, null, null);
677     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
678     assertEquals("Kai Hofmann\nSubB\nTestBuilding\n4711 Test str.\nP.O. Box 1\n9\n\n", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
679    }
680 
681 
682   /**
683    * Get formatted address test.
684    */
685   @Test
686   /* default */ void testGetFormattedAddress5()
687    {
688     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of(AddressTests.BLK), null, null);
689     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
690     assertEquals("Kai Hofmann\nBuilding4711 blk, neighbour\n9, AICHI, Test\n4434567\n\n", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
691    }
692 
693 
694   /**
695    * Get formatted address test.
696    */
697   @Test
698   /* default */ void testGetFormattedAddress6()
699    {
700     final Address address = Address.of(Country.of("AQ"), PostalCode.of(AddressTests.POSTALCODE_JP), City.of(AddressTests.AICHI), Province.of(AddressTests.TEST2), District.of(AddressTests.DISTRICT), null, BuildingNr.of(AddressTests.POSTALCODE4711), BuildingName.of(AddressTests.BUILDING), null, null, null, Neighbourhood.of(AddressTests.NEIGHBOUR), Block.of(AddressTests.BLK), null, null); //$NON-NLS-1$
701     final String addressText = address.getFormattedAddress(AddressTests.KAI_HOFMANN).replace(AddressTests.LINEBREAK_WIN, AddressTests.LINEBREAK_UNIX).replace('\r', '\n');
702     assertEquals("", addressText, AddressTests.WRONG_ADDRESS); //$NON-NLS-1$
703    }
704 
705 
706   /**
707    * Get country test.
708    */
709   @Test
710   /* default */ void testGetCountry()
711    {
712     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
713     final String country = address.getCountry().stringValue();
714     assertEquals(AddressTests.DE, country, AddressTests.WRONG_COUNTRY);
715    }
716 
717 
718   /**
719    * Get postal code test.
720    */
721   @Test
722   /* default */ void testGetPostalCode()
723    {
724     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
725     final String postalCode = address.getPostalCode().stringValue();
726     assertEquals(AddressTests.POSTALCODE28307, postalCode, AddressTests.WRONG_POSTAL_CODE);
727    }
728 
729 
730   /**
731    * Get city test.
732    */
733   @Test
734   /* default */ void testGetCity()
735    {
736     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
737     final String city = address.getCity().stringValue();
738     assertEquals(AddressTests.BREMEN, city, AddressTests.WRONG_CITY);
739    }
740 
741 
742   /**
743    * Get street test.
744    */
745   @Test
746   /* default */ void testGetStreet()
747    {
748     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
749     final String street = address.getStreet().stringValue();
750     assertEquals(AddressTests.ARBERGER_HEERSTR, street, AddressTests.WRONG_STREET);
751    }
752 
753 
754   /**
755    * Get building nr test.
756    */
757   @Test
758   /* default */ void testGetBuildingNr()
759    {
760     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, Street.of(AddressTests.ARBERGER_HEERSTR), BuildingNr.of(AddressTests.BUILDINGNR92), null, null, null, null, null, null, null, null);
761     final String buildingNr = address.getBuildingNr().stringValue();
762     assertEquals(AddressTests.BUILDINGNR92, buildingNr, AddressTests.WRONG_BUILDING_NR);
763    }
764 
765 
766   /**
767    * Get po box number test.
768    */
769   @Test
770   /* default */ void testGetPoBoxNumber()
771    {
772     final Address address = Address.of(Country.of(AddressTests.DE), PostalCode.of(AddressTests.POSTALCODE28307), City.of(AddressTests.BREMEN), null, null, null, null, null, null, PoBoxNumber.of(12345), null, null, null, null, null);
773     final String poBoxNumber = address.getPoBoxNumber().stringValue();
774     assertEquals(AddressTests.POSTALCODE_HK, poBoxNumber, AddressTests.WRONG_PO_BOX_NUMBER);
775    }
776 
777 
778   /**
779    * Get sub building test.
780    */
781   @Test
782   /* default */ void testGetSubBuilding()
783    {
784     final Address address = Address.of(Country.of("AL"), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), null, null, Street.of("Teststreet"), BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), SubBuilding.of(AddressTests.TEST_SUB_BUILDING), null, null, null, null, null, null); //$NON-NLS-1$ //$NON-NLS-2$
785     final String subBuilding = address.getSubBuilding().stringValue();
786     assertEquals(AddressTests.TEST_SUB_BUILDING, subBuilding, "Wrong subBuilding"); //$NON-NLS-1$
787    }
788 
789 
790   /**
791    * Get province test.
792    */
793   @Test
794   /* default */ void testGetProvince()
795    {
796     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), Province.of(AddressTests.TESTPROVINCE), District.of(AddressTests.TESTDISTRICT), null, BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), Block.of(AddressTests.TESTBLOCK13), null, null);
797     final String province = address.getProvince().stringValue();
798     assertEquals(AddressTests.TESTPROVINCE, province, "Wrong province"); //$NON-NLS-1$
799    }
800 
801 
802   /**
803    * Get district test.
804    */
805   @Test
806   /* default */ void testGetDistrict()
807    {
808     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), Province.of(AddressTests.TESTPROVINCE), District.of(AddressTests.TESTDISTRICT), null, BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), Block.of(AddressTests.TESTBLOCK13), null, null);
809     final String district = address.getDistrict().stringValue();
810     assertEquals(AddressTests.TESTDISTRICT, district, "Wrong district"); //$NON-NLS-1$
811    }
812 
813 
814   /**
815    * Get building name test.
816    */
817   @Test
818   /* default */ void testGetBuildingName()
819    {
820     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), Province.of(AddressTests.TESTPROVINCE), District.of(AddressTests.TESTDISTRICT), null, BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), Block.of(AddressTests.TESTBLOCK13), null, null);
821     final String buildingName = address.getBuildingName().stringValue();
822     assertEquals(AddressTests.TESTBUILDING, buildingName, "Wrong buildingName"); //$NON-NLS-1$
823    }
824 
825 
826   /**
827    * Get beighbourhood test.
828    */
829   @Test
830   /* default */ void testGetNeighbourhood()
831    {
832     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), Province.of(AddressTests.TESTPROVINCE), District.of(AddressTests.TESTDISTRICT), null, BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), Block.of(AddressTests.TESTBLOCK13), null, null);
833     final String neighbourhood = address.getNeighbourhood().stringValue();
834     assertEquals(AddressTests.TESTNEIGHBOUR, neighbourhood, "Wrong neighbourhood"); //$NON-NLS-1$
835    }
836 
837 
838   /**
839    * Get block test.
840    */
841   @Test
842   /* default */ void testGetBlock()
843    {
844     final Address address = Address.of(Country.of(AddressTests.JP), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), Province.of(AddressTests.TESTPROVINCE), District.of(AddressTests.TESTDISTRICT), null, BuildingNr.of(AddressTests.BUILDINGNR0815), BuildingName.of(AddressTests.TESTBUILDING), null, null, null, Neighbourhood.of(AddressTests.TESTNEIGHBOUR), Block.of(AddressTests.TESTBLOCK13), null, null);
845     final String block = address.getBlock().stringValue();
846     assertEquals(AddressTests.TESTBLOCK13, block, "Wrong block"); //$NON-NLS-1$
847    }
848 
849 
850   /**
851    * Get department test.
852    */
853   @Test
854   /* default */ void testGetDepartment()
855    {
856     final Address address = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), null, null, null, null, null, null, null, Department.of(AddressTests.TESTDEPARTMENT), null, null, BFPONumber.of(123), Lines.of(AddressTests.TESTLINES));
857     final String department = address.getDepartment().stringValue();
858     assertEquals(AddressTests.TESTDEPARTMENT, department, "Wrong department"); //$NON-NLS-1$
859    }
860 
861 
862   /**
863    * Get BFPONumber test.
864    */
865   @Test
866   /* default */ void testGetBFPONumber()
867    {
868     final Address address = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), null, null, null, null, null, null, null, Department.of(AddressTests.TESTDEPARTMENT), null, null, BFPONumber.of(123), Lines.of(AddressTests.TESTLINES));
869     final String bFPONumber = address.getBFPONumber().stringValue();
870     assertEquals("123", bFPONumber, "Wrong BFPONumber"); //$NON-NLS-1$ //$NON-NLS-2$
871    }
872 
873 
874   /**
875    * Get lines test.
876    */
877   @Test
878   /* default */ void testGetLines()
879    {
880     final Address address = Address.of(Country.of(AddressTests.GB), PostalCode.of(AddressTests.POSTALCODE4711), City.of(AddressTests.TESTCITY), null, null, null, null, null, null, null, Department.of(AddressTests.TESTDEPARTMENT), null, null, BFPONumber.of(123), Lines.of(AddressTests.TESTLINES));
881     final String lines = address.getLines().stringValue();
882     assertEquals(AddressTests.TESTLINES, lines, "Wrong lines"); //$NON-NLS-1$
883    }
884 
885  }