--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+<suite name="jcountry-core">
+ <!--
+ see examples at http://testng.org/doc/documentation-main.html#testng-xml
+
+ <suite-files>
+ <suite-file path="./junit-suite.xml" />
+ </suite-files>
+
+ <test name="TimeOut">
+ <classes>
+ <class name="test.timeout.TimeOutTest" />
+ <class name="test.timeout.TimeOutFromXmlTest"/>
+ <class name="test.timeout.TimeOutThreadLocalSampleTest"/>
+ </classes>
+ </test>
+ -->
+ <test name="org.mxchange.jcountry.test suite">
+ <packages>
+ <package name="org.mxchange.jcountry.test"/>
+ </packages>
+ </test>
+</suite>
--- /dev/null
+/*
+ * Copyright (C) 2022 Roland Häder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcountry.test.model.data;
+
+import java.util.Date;
+import org.mxchange.jcountry.model.data.Country;
+import org.mxchange.jcountry.model.data.CountryData;
+import org.testng.Assert;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+/**
+ * Test cases for CountryData class as an object (no entity-related tests)
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public class CountryDataObjectTest {
+
+ private static final String ABROAD_DIAL_PREFIX = "+"; //NOI18N
+
+ private static final String COUNTRY_CODE = "DE"; //NOI18N
+
+ private static final String COUNTRY_I18N_KEY = "COUNTRY_GERMANY"; //NOI18N
+
+ private static final Short COUNTRY_PHONE_CODE0 = 0;
+
+ private static final Short COUNTRY_PHONE_CODE1 = 49;
+
+ private static final String EXTERNAL_DIAL_PREFIX = "0"; //NOI18N
+
+ /**
+ * Default constructor
+ */
+ public CountryDataObjectTest () {
+ }
+
+ @DataProvider (name = "same-country-provider")
+ public Object[][] createSameCountryObjectses () {
+ return new Object[][]{
+ {new CountryData(), new CountryData()},
+ {new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ ), new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ )}
+ };
+ }
+
+ @Test (description = "Tests method Country.compareTo() responding to a null reference", expectedExceptions = NullPointerException.class)
+ public void testCompareToNullReference () {
+ // Just a dummy ...
+ final Country country = new CountryData();
+
+ // This should cause a NPE with a non-empty message
+ country.compareTo(null);
+ }
+
+ @Test (description = "Tests method Country.compareTo() responding to same country data", dataProvider = "same-country-provider")
+ public void testCompareToSameCountryData (final Country country1, final Country country2) {
+ // Should always be 0
+ Assert.assertEquals(country1.compareTo(country2), 0);
+ }
+
+ @Test (description = "Tests method Country.compareTo() responding to same instance ")
+ public void testCompareToSameInstance () {
+ final Country country1 = new CountryData();
+ Assert.assertEquals(country1.compareTo(country1), 0);
+ }
+
+ @Test (description = "Tests constructor with abroadDialPrefix being empty", expectedExceptions = IllegalArgumentException.class)
+ public void testConstructorEmptyAbroadDialPrefix () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ "", //NOI18N
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryCodde being empty", expectedExceptions = IllegalArgumentException.class)
+ public void testConstructorEmptyCountryCode () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ "", //NOI18N
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryI18nKey being empty", expectedExceptions = IllegalArgumentException.class)
+ public void testConstructorEmptyCountryI18nKey () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ "", //NOI18N
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryExternalDialPrefix being empty", expectedExceptions = IllegalArgumentException.class)
+ public void testConstructorEmptyExternalDialPrefix () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ "", //NOI18N
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be invalid and if so must cause an IAE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with invalid countryPhoneCode", expectedExceptions = IllegalArgumentException.class)
+ public void testConstructorInvalidCountryPhoneCode () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY, //NOI18N
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE0
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be invalid or else an E being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with abroadDialPrefix being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullAbroadDialPrefix () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ null,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryCodde being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullCountryCode () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ null,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryI18nKey being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullCountryI18nKey () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ null,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryIsLocalPrefixRequired being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullCountryIsLocalPrefixRequired () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ null,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryPhoneCode being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullCountryPhoneCode () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ null
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests constructor with countryExternalDialPrefix being null", expectedExceptions = NullPointerException.class)
+ public void testConstructorNullExternalDialPrefix () {
+ // Should throw a NPE
+ final Country country = new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ null,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ );
+
+ // NEVER REACHED!
+ Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
+ }
+
+ @Test (description = "Tests Country.countryEntryCreated getter/setter")
+ public void testCountryEntryCreated () {
+ // Empty instance
+ final Country country = new CountryData();
+ final Date date = new Date();
+
+ // Set it
+ country.setCountryEntryCreated(date);
+
+ // Should be the same!
+ Assert.assertEquals(country.getCountryEntryCreated(), date);
+ }
+
+ @Test (description = "Tests Country.countryEntryUpdated getter/setter")
+ public void testCountryEntryUpdated () {
+ // Empty instance
+ final Country country = new CountryData();
+ final Date date = new Date();
+
+ // Set it
+ country.setCountryEntryUpdated(date);
+
+ // Should be the same!
+ Assert.assertEquals(country.getCountryEntryUpdated(), date);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentAbroadDialPrefix (final Country country1, final Country country2) {
+ // First change countryAbroadDialPrefix to something else
+ country1.setCountryAbroadDialPrefix("++"); //NOI18N
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryAbroadDialPrefix(ABROAD_DIAL_PREFIX);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentCountryCode (final Country country1, final Country country2) {
+ // Next is countryCode
+ country1.setCountryCode("XX"); //NOI18N
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryCode(COUNTRY_CODE);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentCountryId (final Country country1, final Country country2) {
+ // Next is countryId
+ country1.setCountryId(1l); //NOI18N
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryId(null);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentExternalDialPrefix (final Country country1, final Country country2) {
+ // Next is countryExternalDialPrefix
+ country1.setCountryExternalDialPrefix("00"); //NOI18N
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryCode(EXTERNAL_DIAL_PREFIX);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentI18nKey (final Country country1, final Country country2) {
+ // Next is countryI18nKey
+ country1.setCountryI18nKey("COUNTRY_XX"); //NOI18N
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryI18nKey(COUNTRY_I18N_KEY);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentIsLocalDialPrefixRequired (final Country country1, final Country country2) {
+ // Next is countryId
+ country1.setCountryIsLocalPrefixRequired(Boolean.FALSE);
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryIsLocalPrefixRequired(Boolean.TRUE);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
+ public void testEqualsDifferentPhoneCode (final Country country1, final Country country2) {
+ // Next is countryId
+ country1.setCountryPhoneCode(COUNTRY_PHONE_CODE0);
+ Assert.assertFalse(country1.equals(country2));
+ country1.setCountryPhoneCode(COUNTRY_PHONE_CODE1);
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when a null reference is provided")
+ @SuppressWarnings ("ObjectEqualsNull")
+ public void testEqualsNullReference () {
+ final Country country = new CountryData();
+ Assert.assertFalse(country.equals(null));
+ }
+
+ @Test (description = "Tests if Country.equals() returns false when an other object is provided")
+ public void testEqualsOtherObject () {
+ final Country country = new CountryData();
+ Assert.assertFalse(country.equals(new Object()));
+ }
+
+ @Test (description = "Tests if Country.equals() returns true when same instance is provided")
+ public void testEqualsSameInstance () {
+ final Country country = new CountryData();
+ Assert.assertTrue(country.equals(country));
+ }
+
+}
--- /dev/null
+/*
+ * Copyright (C) 2022 Roland Häder<roland@mxchange.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcountry.test.model.utils;
+
+import org.mxchange.jcountry.model.data.Country;
+import org.mxchange.jcountry.model.data.CountryData;
+import org.mxchange.jcountry.model.utils.CountryUtils;
+import org.testng.Assert;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+/**
+ * Test cases for CountryUtils class
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public class CountryUtilsTest {
+
+ private static final String ABROAD_DIAL_PREFIX = "+"; //NOI18N
+
+ private static final String COUNTRY_CODE = "DE"; //NOI18N
+
+ private static final String COUNTRY_I18N_KEY = "COUNTRY_GERMANY"; //NOI18N
+
+ private static final Short COUNTRY_PHONE_CODE1 = 49;
+
+ private static final Short COUNTRY_PHONE_CODE2 = 1;
+
+ private static final String EXTERNAL_DIAL_PREFIX = "0"; //NOI18N
+
+ /**
+ * Default constructor
+ */
+ public CountryUtilsTest () {
+ }
+
+ @DataProvider (name = "different-country-provider")
+ public Object[][] createDifferentCountryObjectses () {
+ return new Object[][]{
+ {new CountryData(
+ ABROAD_DIAL_PREFIX,
+ "US", //NOI18N
+ EXTERNAL_DIAL_PREFIX,
+ "COUNTRY_USA", //NOI18N
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE2
+ ), new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ )}
+ };
+ }
+
+ @DataProvider (name = "left-null-country-provider")
+ public Object[][] createLeftNullCountryObjectses () {
+ return new Object[][]{
+ {null, new CountryData()},
+ {null, new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ )}
+ };
+ }
+
+ @DataProvider (name = "right-null-country-provider")
+ public Object[][] createRightNullCountryObjectses () {
+ return new Object[][]{
+ {new CountryData(), null},
+ {new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ ), null}
+ };
+ }
+
+ @DataProvider (name = "same-country-provider")
+ public Object[][] createSameCountryObjectses () {
+ return new Object[][]{
+ {new CountryData(), new CountryData()},
+ {new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ ), new CountryData(
+ ABROAD_DIAL_PREFIX,
+ COUNTRY_CODE,
+ EXTERNAL_DIAL_PREFIX,
+ COUNTRY_I18N_KEY,
+ Boolean.TRUE,
+ COUNTRY_PHONE_CODE1
+ )}
+ };
+ }
+
+ @Test (description = "Tests the CountryUtils.compare() method with different country data", dataProvider = "different-country-provider")
+ public void testCompareDifferent (final Country country1, final Country country2) {
+ // Expect 1 always, as right side is higher
+ Assert.assertEquals(CountryUtils.compare(country1, country2), 1);
+ }
+
+ @Test (description = "Tests the CountryUtils.compare() method with left-side being null and other country data", dataProvider = "left-null-country-provider")
+ public void testCompareLeftNull (final Country country1, final Country country2) {
+ // Expect -1 always
+ Assert.assertEquals(CountryUtils.compare(country1, country2), -1);
+ }
+
+ @Test (description = "Tests the CountryUtils.compare() method with right-side being null and other country data", dataProvider = "right-null-country-provider")
+ public void testCompareRightNull (final Country country1, final Country country2) {
+ // Expect 1 always
+ Assert.assertEquals(CountryUtils.compare(country1, country2), 1);
+ }
+
+ @Test (description = "Tests the CountryUtils.compare() method with same country data", dataProvider = "same-country-provider")
+ public void testCompareSame (final Country country1, final Country country2) {
+ // Expect 0 always
+ Assert.assertEquals(CountryUtils.compare(country1, country2), 0);
+ }
+
+ @Test (description = "Tests the CountryUtils.copyCountryData() method with different instances", dataProvider = "different-country-provider")
+ public void testCopyCountryDifferentInstances (final Country country1, final Country country2) {
+ CountryUtils.copyCountryData(country1, country2);
+ }
+
+ @Test (description = "Tests the CountryUtils.copyCountryData() method with same instances", dataProvider = "same-country-provider", expectedExceptions = IllegalArgumentException.class)
+ public void testCopyCountrySameInstances (final Country country1, final Country country2) {
+ CountryUtils.copyCountryData(country1, country2);
+ }
+
+ @Test (description = "Tests the CountryUtils.copyCountryData() method with source null reference", dataProvider = "left-null-country-provider", expectedExceptions = NullPointerException.class)
+ public void testCopyCountrySourceNull (final Country country1, final Country country2) {
+ CountryUtils.copyCountryData(country1, country2);
+ }
+
+ @Test (description = "Tests the CountryUtils.copyCountryData() method with target null reference", dataProvider = "right-null-country-provider", expectedExceptions = NullPointerException.class)
+ public void testCopyCountryTargetNull (final Country country1, final Country country2) {
+ CountryUtils.copyCountryData(country1, country2);
+ }
+
+}
+++ /dev/null
-<?xml version='1.0' encoding='UTF-8' ?>
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
-<suite name="jcore-utils">
- <!--
- see examples at http://testng.org/doc/documentation-main.html#testng-xml
-
- <suite-files>
- <suite-file path="./junit-suite.xml" />
- </suite-files>
-
- <test name="TimeOut">
- <classes>
- <class name="test.timeout.TimeOutTest" />
- <class name="test.timeout.TimeOutFromXmlTest"/>
- <class name="test.timeout.TimeOutThreadLocalSampleTest"/>
- </classes>
- </test>
- -->
- <test name="org.mxchange.jcountrycore.test suite">
- <packages>
- <package name="org.mxchange.jcountrycore.test"/>
- </packages>
- </test>
-</suite>
+++ /dev/null
-/*
- * Copyright (C) 2022 Roland Häder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jcountrycore.test.model.data;
-
-import java.util.Date;
-import org.mxchange.jcountry.model.data.Country;
-import org.mxchange.jcountry.model.data.CountryData;
-import org.testng.Assert;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test cases for CountryData class as an object (no entity-related tests)
- * <p>
- * @author Roland Häder<roland@mxchange.org>
- */
-public class CountryDataObjectTest {
-
- private static final String ABROAD_DIAL_PREFIX = "+"; //NOI18N
-
- private static final String COUNTRY_CODE = "DE"; //NOI18N
-
- private static final String COUNTRY_I18N_KEY = "COUNTRY_GERMANY"; //NOI18N
-
- private static final Short COUNTRY_PHONE_CODE0 = 0;
-
- private static final Short COUNTRY_PHONE_CODE1 = 49;
-
- private static final String EXTERNAL_DIAL_PREFIX = "0"; //NOI18N
-
- /**
- * Default constructor
- */
- public CountryDataObjectTest () {
- }
-
- @DataProvider (name = "same-country-provider")
- public Object[][] createSameCountryObjectses () {
- return new Object[][]{
- {new CountryData(), new CountryData()},
- {new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- ), new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- )}
- };
- }
-
- @Test (description = "Tests method Country.compareTo() responding to a null reference", expectedExceptions = NullPointerException.class)
- public void testCompareToNullReference () {
- // Just a dummy ...
- final Country country = new CountryData();
-
- // This should cause a NPE with a non-empty message
- country.compareTo(null);
- }
-
- @Test (description = "Tests method Country.compareTo() responding to same country data", dataProvider = "same-country-provider")
- public void testCompareToSameCountryData (final Country country1, final Country country2) {
- // Should always be 0
- Assert.assertEquals(country1.compareTo(country2), 0);
- }
-
- @Test (description = "Tests method Country.compareTo() responding to same instance ")
- public void testCompareToSameInstance () {
- final Country country1 = new CountryData();
- Assert.assertEquals(country1.compareTo(country1), 0);
- }
-
- @Test (description = "Tests constructor with abroadDialPrefix being empty", expectedExceptions = IllegalArgumentException.class)
- public void testConstructorEmptyAbroadDialPrefix () {
- // Should throw a NPE
- final Country country = new CountryData(
- "", //NOI18N
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryCodde being empty", expectedExceptions = IllegalArgumentException.class)
- public void testConstructorEmptyCountryCode () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- "", //NOI18N
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryI18nKey being empty", expectedExceptions = IllegalArgumentException.class)
- public void testConstructorEmptyCountryI18nKey () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- "", //NOI18N
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be empty and if so must cause an IAE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryExternalDialPrefix being empty", expectedExceptions = IllegalArgumentException.class)
- public void testConstructorEmptyExternalDialPrefix () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- "", //NOI18N
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be invalid and if so must cause an IAE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with invalid countryPhoneCode", expectedExceptions = IllegalArgumentException.class)
- public void testConstructorInvalidCountryPhoneCode () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY, //NOI18N
- Boolean.TRUE,
- COUNTRY_PHONE_CODE0
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be invalid or else an E being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with abroadDialPrefix being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullAbroadDialPrefix () {
- // Should throw a NPE
- final Country country = new CountryData(
- null,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryCodde being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullCountryCode () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- null,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryI18nKey being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullCountryI18nKey () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- null,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryIsLocalPrefixRequired being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullCountryIsLocalPrefixRequired () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- null,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryPhoneCode being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullCountryPhoneCode () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- null
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests constructor with countryExternalDialPrefix being null", expectedExceptions = NullPointerException.class)
- public void testConstructorNullExternalDialPrefix () {
- // Should throw a NPE
- final Country country = new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- null,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- );
-
- // NEVER REACHED!
- Assert.fail("The required parameter must never be null and if so must cause a NPE being thrown: country=" + country); //NOI18N
- }
-
- @Test (description = "Tests if Country.equals() returns false when a null reference is provided")
- @SuppressWarnings ("ObjectEqualsNull")
- public void testEqualsNullReference () {
- final Country country = new CountryData();
- Assert.assertFalse(country.equals(null));
- }
-
- @Test (description = "Tests if Country.equals() returns false when an other object is provided")
- public void testEqualsOtherObject () {
- final Country country = new CountryData();
- Assert.assertFalse(country.equals(new Object()));
- }
-
- @Test (description = "Tests if Country.equals() returns true when same instance is provided")
- public void testEqualsSameInstance () {
- final Country country = new CountryData();
- Assert.assertTrue(country.equals(country));
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentAbroadDialPrefix (final Country country1, final Country country2) {
- // First change countryAbroadDialPrefix to something else
- country1.setCountryAbroadDialPrefix("++"); //NOI18N
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryAbroadDialPrefix(ABROAD_DIAL_PREFIX);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentCountryCode (final Country country1, final Country country2) {
- // Next is countryCode
- country1.setCountryCode("XX"); //NOI18N
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryCode(COUNTRY_CODE);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentExternalDialPrefix (final Country country1, final Country country2) {
- // Next is countryExternalDialPrefix
- country1.setCountryExternalDialPrefix("00"); //NOI18N
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryCode(EXTERNAL_DIAL_PREFIX);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentI18nKey (final Country country1, final Country country2) {
- // Next is countryI18nKey
- country1.setCountryI18nKey("COUNTRY_XX"); //NOI18N
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryI18nKey(COUNTRY_I18N_KEY);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentCountryId (final Country country1, final Country country2) {
- // Next is countryId
- country1.setCountryId(1l); //NOI18N
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryId(null);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentIsLocalDialPrefixRequired (final Country country1, final Country country2) {
- // Next is countryId
- country1.setCountryIsLocalPrefixRequired(Boolean.FALSE);
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryIsLocalPrefixRequired(Boolean.TRUE);
- }
-
- @Test (description = "Tests if Country.equals() returns false when a field has been changed to an other value", dataProvider = "same-country-provider")
- public void testEqualsDifferentPhoneCode (final Country country1, final Country country2) {
- // Next is countryId
- country1.setCountryPhoneCode(COUNTRY_PHONE_CODE0);
- Assert.assertFalse(country1.equals(country2));
- country1.setCountryPhoneCode(COUNTRY_PHONE_CODE1);
- }
-
- @Test (description = "Tests Country.countryEntryCreated getter/setter")
- public void testCountryEntryCreated () {
- // Empty instance
- final Country country = new CountryData();
- final Date date = new Date();
-
- // Set it
- country.setCountryEntryCreated(date);
-
- // Should be the same!
- Assert.assertEquals(country.getCountryEntryCreated(), date);
- }
-
- @Test (description = "Tests Country.countryEntryUpdated getter/setter")
- public void testCountryEntryUpdated () {
- // Empty instance
- final Country country = new CountryData();
- final Date date = new Date();
-
- // Set it
- country.setCountryEntryUpdated(date);
-
- // Should be the same!
- Assert.assertEquals(country.getCountryEntryUpdated(), date);
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2022 Roland Häder<roland@mxchange.org>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package org.mxchange.jcountrycore.test.model.utils;
-
-import org.mxchange.jcountry.model.data.Country;
-import org.mxchange.jcountry.model.data.CountryData;
-import org.mxchange.jcountry.model.utils.CountryUtils;
-import org.testng.Assert;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test cases for CountryUtils class
- * <p>
- * @author Roland Häder<roland@mxchange.org>
- */
-public class CountryUtilsTest {
-
- private static final String ABROAD_DIAL_PREFIX = "+"; //NOI18N
-
- private static final String COUNTRY_CODE = "DE"; //NOI18N
-
- private static final String COUNTRY_I18N_KEY = "COUNTRY_GERMANY"; //NOI18N
-
- private static final Short COUNTRY_PHONE_CODE1 = 49;
-
- private static final Short COUNTRY_PHONE_CODE2 = 1;
-
- private static final String EXTERNAL_DIAL_PREFIX = "0"; //NOI18N
-
- /**
- * Default constructor
- */
- public CountryUtilsTest () {
- }
-
- @DataProvider (name = "different-country-provider")
- public Object[][] createDifferentCountryObjectses () {
- return new Object[][]{
- {new CountryData(
- ABROAD_DIAL_PREFIX,
- "US", //NOI18N
- EXTERNAL_DIAL_PREFIX,
- "COUNTRY_USA", //NOI18N
- Boolean.TRUE,
- COUNTRY_PHONE_CODE2
- ), new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- )}
- };
- }
-
- @DataProvider (name = "left-null-country-provider")
- public Object[][] createLeftNullCountryObjectses () {
- return new Object[][]{
- {null, new CountryData()},
- {null, new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- )}
- };
- }
-
- @DataProvider (name = "right-null-country-provider")
- public Object[][] createRightNullCountryObjectses () {
- return new Object[][]{
- {new CountryData(), null},
- {new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- ), null}
- };
- }
-
- @DataProvider (name = "same-country-provider")
- public Object[][] createSameCountryObjectses () {
- return new Object[][]{
- {new CountryData(), new CountryData()},
- {new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- ), new CountryData(
- ABROAD_DIAL_PREFIX,
- COUNTRY_CODE,
- EXTERNAL_DIAL_PREFIX,
- COUNTRY_I18N_KEY,
- Boolean.TRUE,
- COUNTRY_PHONE_CODE1
- )}
- };
- }
-
- @Test (description = "Tests the CountryUtils.compare() method with different country data", dataProvider = "different-country-provider")
- public void testCompareDifferent (final Country country1, final Country country2) {
- // Expect 1 always, as right side is higher
- Assert.assertEquals(CountryUtils.compare(country1, country2), 1);
- }
-
- @Test (description = "Tests the CountryUtils.compare() method with left-side being null and other country data", dataProvider = "left-null-country-provider")
- public void testCompareLeftNull (final Country country1, final Country country2) {
- // Expect -1 always
- Assert.assertEquals(CountryUtils.compare(country1, country2), -1);
- }
-
- @Test (description = "Tests the CountryUtils.compare() method with right-side being null and other country data", dataProvider = "right-null-country-provider")
- public void testCompareRightNull (final Country country1, final Country country2) {
- // Expect 1 always
- Assert.assertEquals(CountryUtils.compare(country1, country2), 1);
- }
-
- @Test (description = "Tests the CountryUtils.compare() method with same country data", dataProvider = "same-country-provider")
- public void testCompareSame (final Country country1, final Country country2) {
- // Expect 0 always
- Assert.assertEquals(CountryUtils.compare(country1, country2), 0);
- }
-
- @Test (description = "Tests the CountryUtils.copyCountryData() method with different instances", dataProvider = "different-country-provider")
- public void testCopyCountryDifferentInstances (final Country country1, final Country country2) {
- CountryUtils.copyCountryData(country1, country2);
- }
-
- @Test (description = "Tests the CountryUtils.copyCountryData() method with same instances", dataProvider = "same-country-provider", expectedExceptions = IllegalArgumentException.class)
- public void testCopyCountrySameInstances (final Country country1, final Country country2) {
- CountryUtils.copyCountryData(country1, country2);
- }
-
- @Test (description = "Tests the CountryUtils.copyCountryData() method with source null reference", dataProvider = "left-null-country-provider", expectedExceptions = NullPointerException.class)
- public void testCopyCountrySourceNull (final Country country1, final Country country2) {
- CountryUtils.copyCountryData(country1, country2);
- }
-
- @Test (description = "Tests the CountryUtils.copyCountryData() method with target null reference", dataProvider = "right-null-country-provider", expectedExceptions = NullPointerException.class)
- public void testCopyCountryTargetNull (final Country country1, final Country country2) {
- CountryUtils.copyCountryData(country1, country2);
- }
-
-}