diff --git a/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/recordvsfinal/USCitizen.java b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/recordvsfinal/USCitizen.java new file mode 100644 index 0000000000..9ff3676ae7 --- /dev/null +++ b/core-java-modules/core-java-14/src/main/java/com/baeldung/java14/recordvsfinal/USCitizen.java @@ -0,0 +1,18 @@ +package com.baeldung.java14.recordvsfinal; + +public record USCitizen(String firstName, String lastName, String address) { + static int countryCode; + + // static initializer + static { + countryCode = 1; + } + + public static int getCountryCode() { + return countryCode; + } + + public String getFullName() { + return firstName + " " + lastName; + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/recordvsfinal/USCitizenUnitTest.java b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/recordvsfinal/USCitizenUnitTest.java new file mode 100644 index 0000000000..bb4c16b500 --- /dev/null +++ b/core-java-modules/core-java-14/src/test/java/com/baeldung/java14/recordvsfinal/USCitizenUnitTest.java @@ -0,0 +1,26 @@ +package com.baeldung.java14.recordvsfinal; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +public class USCitizenUnitTest { + + @Test + public void givenName_whenGetNameAndCode_thenExpectedValuesReturned() { + + String firstName = "Joan"; + String lastName = "Winn"; + String address = "1892 Black Stallion Road"; + int countryCode = 1; + + USCitizen citizen = new USCitizen(firstName, lastName, address); + + assertEquals(firstName + " " + lastName, citizen.getFullName()); + assertEquals(countryCode, USCitizen.getCountryCode()); + } + +} \ No newline at end of file