From 66af11b926b14dc446741e86c981759817985645 Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Thu, 2 Jan 2020 13:43:41 +0100 Subject: [PATCH 1/2] BAEL-3734: Fix testEmployeeExtension unit test --- .../metaprogramming/extension/BasicExtensions.groovy | 5 ++++- .../metaprogramming/MetaprogrammingUnitTest.groovy | 11 ++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy b/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy index 65591cae8d..3d038c4042 100644 --- a/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy +++ b/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy @@ -2,10 +2,13 @@ package com.baeldung.metaprogramming.extension import com.baeldung.metaprogramming.Employee +import java.time.LocalDate +import java.time.Year + class BasicExtensions { static int getYearOfBirth(Employee self) { - return (new Date().getYear() + 1900) - self.age; + return LocalDate.now().getYear() - self.age; } static String capitalize(String self) { diff --git a/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy b/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy index 780b88cbbf..53f909e55b 100644 --- a/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy +++ b/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy @@ -1,6 +1,9 @@ package com.baeldung.metaprogramming -import groovy.time.TimeCategory + +import java.time.LocalDate +import java.time.Period +import java.time.Year class MetaprogrammingUnitTest extends GroovyTestCase { @@ -57,8 +60,10 @@ class MetaprogrammingUnitTest extends GroovyTestCase { } void testEmployeeExtension() { - Employee emp = new Employee(age: 28) - assert emp.getYearOfBirth() == 1992 + def age = 28 + def expectedYearOfBirth = Year.now() - age + Employee emp = new Employee(age: age) + assert emp.getYearOfBirth() == expectedYearOfBirth.value } void testJavaClassesExtensions() { From 47b80d267bc9ba6552b6e8b1eb11edfc7b64c643 Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Thu, 2 Jan 2020 14:00:45 +0100 Subject: [PATCH 2/2] BAEL-3734: Use Year.now() instead of LocalDate.now() --- .../baeldung/metaprogramming/extension/BasicExtensions.groovy | 2 +- .../com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy b/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy index 3d038c4042..0612ecb955 100644 --- a/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy +++ b/core-groovy-2/src/main/groovy/com/baeldung/metaprogramming/extension/BasicExtensions.groovy @@ -8,7 +8,7 @@ import java.time.Year class BasicExtensions { static int getYearOfBirth(Employee self) { - return LocalDate.now().getYear() - self.age; + return Year.now().value - self.age } static String capitalize(String self) { diff --git a/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy b/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy index 53f909e55b..4a8631eb95 100644 --- a/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy +++ b/core-groovy-2/src/test/groovy/com/baeldung/metaprogramming/MetaprogrammingUnitTest.groovy @@ -54,7 +54,7 @@ class MetaprogrammingUnitTest extends GroovyTestCase { void testJavaMetaClass() { String.metaClass.capitalize = { String str -> - str.substring(0, 1).toUpperCase() + str.substring(1); + str.substring(0, 1).toUpperCase() + str.substring(1) } assert "norman".capitalize() == "Norman" }