File tree Expand file tree Collapse file tree 9 files changed +131
-0
lines changed
main/java/com/baeldung/currency/utils
test/java/com/baeldung/currency/utils Expand file tree Collapse file tree 9 files changed +131
-0
lines changed Original file line number Diff line number Diff line change
1
+ #core-java-currency
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <project xmlns =" http://maven.apache.org/POM/4.0.0"
3
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi : schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
5
+ <modelVersion >4.0.0</modelVersion >
6
+ <artifactId >core-java-currency</artifactId >
7
+ <packaging >jar</packaging >
8
+ <name >core-java-currency</name >
9
+
10
+ <parent >
11
+ <groupId >com.baeldung.core-java-modules</groupId >
12
+ <artifactId >core-java-modules</artifactId >
13
+ <version >0.0.1-SNAPSHOT</version >
14
+ </parent >
15
+
16
+ <dependencies >
17
+ <dependency >
18
+ <groupId >org.projectlombok</groupId >
19
+ <artifactId >lombok</artifactId >
20
+ <version >${lombok.version} </version >
21
+ </dependency >
22
+ </dependencies >
23
+
24
+ <build >
25
+ <plugins >
26
+ <plugin >
27
+ <groupId >org.apache.maven.plugins</groupId >
28
+ <artifactId >maven-surefire-plugin</artifactId >
29
+ <version >${maven-surefire-plugin.version} </version >
30
+ <configuration >
31
+ <argLine >--enable-preview</argLine >
32
+ </configuration >
33
+ </plugin >
34
+ </plugins >
35
+ </build >
36
+
37
+ <properties >
38
+ <maven .compiler.source.version>17</maven .compiler.source.version>
39
+ <maven .compiler.target.version>17</maven .compiler.target.version>
40
+ <lombok .version>1.18.24</lombok .version>
41
+ </properties >
42
+
43
+ </project >
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import java .util .Currency ;
4
+ import java .util .Locale ;
5
+
6
+ public class CurrencyLocaleUtil {
7
+ public String getSymbolForLocale (Locale locale ) {
8
+ Currency currency = Currency .getInstance (locale );
9
+ return currency .getSymbol ();
10
+ }
11
+ }
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import java .util .Map ;
4
+
5
+ public class CurrencyMapUtil {
6
+ private static final Map <String , String > currencymap = Map .of (
7
+ "USD" , "$" ,
8
+ "EUR" , "€" ,
9
+ "INR" , "₹"
10
+ );
11
+
12
+ public static String getSymbol (String currencyCode ) {
13
+ return currencymap .getOrDefault (currencyCode , "Unknown" );
14
+ }
15
+ }
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import java .util .Currency ;
4
+
5
+ public class CurrencyUtil {
6
+ public static String getSymbol (String currencyCode ) {
7
+ Currency currency = Currency .getInstance (currencyCode );
8
+ return currency .getSymbol ();
9
+ }
10
+ }
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import org .junit .jupiter .api .Test ;
4
+ import java .util .Locale ;
5
+ import static org .junit .jupiter .api .Assertions .*;
6
+
7
+ class CurrencyLocaleUtilTest {
8
+ private final CurrencyLocaleUtil currencyLocale = new CurrencyLocaleUtil ();
9
+
10
+ @ Test
11
+ void givenLocale_whenGetSymbolForLocale_thenReturnsLocalizedSymbol () {
12
+ assertEquals ("$" , currencyLocale .getSymbolForLocale (Locale .US ));
13
+ assertEquals ("€" , currencyLocale .getSymbolForLocale (Locale .FRANCE ));
14
+ }
15
+ }
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import org .junit .jupiter .api .Test ;
4
+ import static org .junit .jupiter .api .Assertions .*;
5
+
6
+ class CurrencyMapUtilTest {
7
+ @ Test
8
+ void givenValidCurrencyCode_whenGetSymbol_thenReturnsCorrectSymbol () {
9
+ assertEquals ("$" , CurrencyMapUtil .getSymbol ("USD" ));
10
+ assertEquals ("€" , CurrencyMapUtil .getSymbol ("EUR" ));
11
+ assertEquals ("₹" , CurrencyMapUtil .getSymbol ("INR" ));
12
+ }
13
+
14
+ @ Test
15
+ void givenInvalidCurrencyCode_whenGetSymbol_thenReturnsUnknown () {
16
+ assertEquals ("Unknown" , CurrencyMapUtil .getSymbol ("XYZ" ));
17
+ }
18
+ }
Original file line number Diff line number Diff line change
1
+ package com .baeldung .currency .utils ;
2
+
3
+ import org .junit .jupiter .api .Test ;
4
+ import static org .junit .jupiter .api .Assertions .*;
5
+
6
+ class CurrencyUtilTest {
7
+ @ Test
8
+ void givenValidCurrencyCode_whenGetSymbol_thenReturnsCorrectSymbol () {
9
+ assertEquals ("$" , CurrencyUtil .getSymbol ("USD" ));
10
+ assertEquals ("€" , CurrencyUtil .getSymbol ("EUR" ));
11
+ }
12
+
13
+ @ Test
14
+ void givenInvalidCurrencyCode_whenGetSymbol_thenThrowsException () {
15
+ assertThrows (IllegalArgumentException .class , () -> CurrencyUtil .getSymbol ("INVALID" ));
16
+ }
17
+ }
Original file line number Diff line number Diff line change 124
124
<module >core-java-concurrency-collections</module >
125
125
<module >core-java-concurrency-collections-2</module >
126
126
<module >core-java-console</module >
127
+ <module >core-java-currency</module >
127
128
<module >core-java-datetime-string-2</module >
128
129
<module >core-java-date-operations</module >
129
130
<module >core-java-date-operations-2</module >
You can’t perform that action at this time.
0 commit comments