Skip to content

Commit dc17301

Browse files
authored
Fix Ledger test so they pass regardless of system locale (#2645)
1 parent a17acae commit dc17301

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

exercises/practice/ledger/.meta/config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"src/main/java/Ledger.java"
1111
],
1212
"test": [
13-
"src/test/java/LedgerTest.java"
13+
"src/test/java/LedgerTest.java",
14+
"src/test/java/LocaleExtension.java"
1415
],
1516
"example": [
1617
".meta/src/reference/java/Ledger.java"

exercises/practice/ledger/src/test/java/LedgerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import org.junit.jupiter.api.Test;
2+
import org.junit.jupiter.api.extension.ExtendWith;
13
import org.junit.jupiter.api.BeforeEach;
24
import org.junit.jupiter.api.Disabled;
3-
import org.junit.jupiter.api.Test;
45

56
import static org.assertj.core.api.Assertions.assertThat;
67

8+
@ExtendWith(LocaleExtension.class)
79
public class LedgerTest {
810

911
private static final String US_LOCALE = "en-US";
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
2+
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
3+
import org.junit.jupiter.api.extension.ExtensionContext;
4+
5+
import java.util.Locale;
6+
7+
public class LocaleExtension implements BeforeTestExecutionCallback, AfterTestExecutionCallback {
8+
private Locale originalLocale;
9+
10+
@Override
11+
public void beforeTestExecution(ExtensionContext context) throws Exception {
12+
originalLocale = Locale.getDefault();
13+
14+
Locale.setDefault(Locale.US);
15+
}
16+
17+
@Override
18+
public void afterTestExecution(ExtensionContext context) throws Exception {
19+
Locale.setDefault(originalLocale);
20+
}
21+
}

0 commit comments

Comments
 (0)