diff --git a/exercises/practice/ledger/.meta/config.json b/exercises/practice/ledger/.meta/config.json index 477219432..7d6a0a683 100644 --- a/exercises/practice/ledger/.meta/config.json +++ b/exercises/practice/ledger/.meta/config.json @@ -10,7 +10,8 @@ "src/main/java/Ledger.java" ], "test": [ - "src/test/java/LedgerTest.java" + "src/test/java/LedgerTest.java", + "src/test/java/LocaleExtension.java" ], "example": [ ".meta/src/reference/java/Ledger.java" diff --git a/exercises/practice/ledger/src/test/java/LedgerTest.java b/exercises/practice/ledger/src/test/java/LedgerTest.java index aaeb4a020..eb7cbfddb 100644 --- a/exercises/practice/ledger/src/test/java/LedgerTest.java +++ b/exercises/practice/ledger/src/test/java/LedgerTest.java @@ -1,9 +1,11 @@ +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; +@ExtendWith(LocaleExtension.class) public class LedgerTest { private static final String US_LOCALE = "en-US"; diff --git a/exercises/practice/ledger/src/test/java/LocaleExtension.java b/exercises/practice/ledger/src/test/java/LocaleExtension.java new file mode 100644 index 000000000..a93a432f8 --- /dev/null +++ b/exercises/practice/ledger/src/test/java/LocaleExtension.java @@ -0,0 +1,21 @@ +import org.junit.jupiter.api.extension.AfterTestExecutionCallback; +import org.junit.jupiter.api.extension.BeforeTestExecutionCallback; +import org.junit.jupiter.api.extension.ExtensionContext; + +import java.util.Locale; + +public class LocaleExtension implements BeforeTestExecutionCallback, AfterTestExecutionCallback { + private Locale originalLocale; + + @Override + public void beforeTestExecution(ExtensionContext context) throws Exception { + originalLocale = Locale.getDefault(); + + Locale.setDefault(Locale.US); + } + + @Override + public void afterTestExecution(ExtensionContext context) throws Exception { + Locale.setDefault(originalLocale); + } +}