From cb21e9974086428d0deeb1e7a3f96dc0b9b7eb50 Mon Sep 17 00:00:00 2001 From: Kaitrina High Date: Thu, 15 Feb 2018 13:47:06 -0500 Subject: [PATCH] completed with tests done --- pom.xml | 5 + src/main/java/CurrencyConverter.java | 36 +++++++ src/test/java/CurrencyConverterTest.java | 102 ++++++++++++++++++ target/classes/CurrencyConverter.class | Bin 0 -> 1897 bytes .../CurrencyConverterTest$1.class | Bin 0 -> 1035 bytes .../test-classes/CurrencyConverterTest.class | Bin 0 -> 2803 bytes 6 files changed, 143 insertions(+) create mode 100644 src/main/java/CurrencyConverter.java create mode 100644 src/test/java/CurrencyConverterTest.java create mode 100644 target/classes/CurrencyConverter.class create mode 100644 target/test-classes/CurrencyConverterTest$1.class create mode 100644 target/test-classes/CurrencyConverterTest.class diff --git a/pom.xml b/pom.xml index 682d6db..956fa2e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,5 +10,10 @@ + + junit + junit + RELEASE + \ No newline at end of file diff --git a/src/main/java/CurrencyConverter.java b/src/main/java/CurrencyConverter.java new file mode 100644 index 0000000..955f385 --- /dev/null +++ b/src/main/java/CurrencyConverter.java @@ -0,0 +1,36 @@ +import java.text.NumberFormat; +import java.util.HashMap; + +public class CurrencyConverter { + + + private HashMap converter; + + + public CurrencyConverter() { + converter = new HashMap(); + converter.put("USD", 1.00F); + converter.put("EUR", 0.94F); + converter.put("GBP", 0.82F); + converter.put("INR", 68.32F); + converter.put("AUD", 1.35F); + converter.put("CAD", 1.32F); + converter.put("SGD", 1.43F); + converter.put("CHF", 1.01F); + converter.put("MYR", 4.47F); + converter.put("JPY", 115.84F); + converter.put("CNY", 6.92F); + } + + public String makeConversion(String fromCurrencyCode, String toCurrencyCode, Float amountToConvert) { + NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); + String result = currencyFormatter.format(converter.get(toCurrencyCode) / (converter.get(fromCurrencyCode)) * amountToConvert); + return result; + } + + + public static void main(String[] args) { + CurrencyConverter test = new CurrencyConverter(); + System.out.println(test.makeConversion("CAD", "CHF", 200.00F)); + } +} \ No newline at end of file diff --git a/src/test/java/CurrencyConverterTest.java b/src/test/java/CurrencyConverterTest.java new file mode 100644 index 0000000..4d7b516 --- /dev/null +++ b/src/test/java/CurrencyConverterTest.java @@ -0,0 +1,102 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.HashMap; + +import static org.junit.Assert.*; + +public class CurrencyConverterTest { + private static CurrencyConverter tester; + + @Before + public void setUp() { + HashMap originalRecord = new HashMap() {{ + put("USD", 1.00F); + put("EUR", 0.94F); + put("GBP", 0.82F); + put("INR", 68.32F); + put("AUD", 1.35F); + put("CAD", 1.32F); + put("SGD", 1.43F); + put("CHF", 1.01F); + put("MYR", 4.47F); + put("JPY", 115.84F); + put("CNY", 6.92F); + }}; + tester = new CurrencyConverter(); + } + + @Test + public void dollarToEuro() { + String actual = tester.makeConversion("USD", "EUR", 500.00F); + Assert.assertEquals("$470.00", actual); + } + + @Test + public void euroToDollar() { + String actual = tester.makeConversion("EUR", "USD", 500.00F); + Assert.assertEquals("$531.91", actual); + } + + @Test + public void britishPoundToDollar() { + String actual = tester.makeConversion("GBP", "USD", 500.00F); + Assert.assertEquals("$609.76", actual); + } + + + @Test + public void euroToBritishPound() { + String actual = tester.makeConversion("EUR", "GBP", 500.00F); + Assert.assertEquals("$436.17", actual); + } + + + @Test + public void britishPoundToIndianRupee() { + String actual = tester.makeConversion("GBP", "INR", 500.00F); + Assert.assertEquals("$41,658.54", actual); + } + + + @Test + public void rupeeToCanadianDollar() { + String actual = tester.makeConversion("INR", "CAD", 500.00F); + Assert.assertEquals("$9.66", actual); + } + + + @Test + public void canadianDollarToSingaporeDollar() { + String actual = tester.makeConversion("CAD", "SGD", 500.00F); + Assert.assertEquals("$541.67", actual); + } + + @Test + public void SingaporeDollarToSwissFranc() { + String actual = tester.makeConversion("SGD", "CHF", 500.00F); + Assert.assertEquals("$353.15", actual); + } + + @Test + public void SwissFrancToMalaysianRinggit() { + String actual = tester.makeConversion("CHF", "MYR", 500.00F); + Assert.assertEquals("$2,212.87", actual); + } + + @Test + public void MalaysianRinggitToJapaneseYen() { + String actual = tester.makeConversion("MYR", "JPY", 500.00F); + Assert.assertEquals("$12,957.50", actual); + } + + @Test + public void JapaneseYenToChineseYuanRenminbi() { + String actual = tester.makeConversion("JPY", "CNY", 500.00F); + Assert.assertEquals("$29.87", actual); + } + +} + + diff --git a/target/classes/CurrencyConverter.class b/target/classes/CurrencyConverter.class new file mode 100644 index 0000000000000000000000000000000000000000..f8eb9dde9804462986020259f2c1e6274c57c0d3 GIT binary patch literal 1897 zcmZuyOLN;)6#it(v7)L@qCDE9X(25XCuwU4uaKm15~t3Cyjmw|LwPB#;wZHxBg=s< zS-`Mix`IDI7c7_#kCJrg48sgN2G*=tvtZ4Z;k%O3DC3N0uI_j4J?DJqJ4f|N9KOjknt!j7?PWa^$(&deIM?M0(H z${Pi%WE)=HH6;u;-WUr^Wy3CI3Z84(rO}8bUv>;{bev(D#w^?N#wEnl{p%9soO6c( zTNW(aT&h<#O?TDUEYqSdI7OqpZn&1fp;7j>t(qX1tGljg7w_c`STk~}V%#+YL(Ot* z33KTPgGNq`mVjk{qnCu%E!U|WW)+Fk*`#!w4R z-7T7VOUT}J$UdBhD`FTlT*772Y#0m;Y4o$1YlUeI1~xSmafkTY+6}HVQ!8BOmc)K? zZJKLtQmlm;e?Ob&esM#b&aZ5U(b5 zgM+Gum+?vxA82sF@>>ssEN||ZMHZdhHOh5!c}qe^Iv?%$K}X`%I z`iCYe=_hUI9-C1zy#wZRcFi;FB8Bfshfx|l*zY)9BwRd(%(1D}E%CaoiwfzR?x)O6 zTmE24=uA&XeZpBeqEX>q%`>TQ+z}FV29squnH9d(9vw`hLQd^|eMimIwJI)^Ig_1H zwogZrU!6XF5dn$cD2@)F14Jplh^4eUc2c!Jo*KH@(@9(V*nu3|joc#Bxv z?|p(kw(tDH_qZ^qx9T1GbG}l~@8RO1RsownC^%0(7koBdfj_dCU>t=CO)|U0-xP5S Gx&Hy)MaH85 literal 0 HcmV?d00001 diff --git a/target/test-classes/CurrencyConverterTest$1.class b/target/test-classes/CurrencyConverterTest$1.class new file mode 100644 index 0000000000000000000000000000000000000000..77a65542d97663c031d43ad71c83cba37abe8754 GIT binary patch literal 1035 zcmZ`&&rj2E6#sM-*44tsm%(5tqD~z{8S@9C1IB)X89#ImL*k{3%1Uaxv>k~zJ(zgV z_($l$gCX&t7!O{&89jUQ?7@=G^973gR!!#AW`Y>zgdx~i* z<{ibdlaw;2>Z(n-;pl&ICN?D)h(pecN1bw`)&hDj}FOS|%(9Be5t!gLhBX8p_&z4#8+);)qIASZ~-Q zag>m{|N9k+k0s%)W2hlx-ljO$<{YDo&FR6vjVsvv3?B3YUbChNf-;36U{i1A(Rmb1%1ILrapjS(^=r7>PG)R1cRKcUJlF9; z$4edG>-a&(k2+rI5HS>EC}~Kn+O~9aW#M_!)6nKi&zG)-o9nrX>q@(Ho^$Lo>C!mE z=~>IR{AU`PhlckwwB(!vsiAY-vgKywq$u5jD3)n4)}4|l?+MpZ;|pVpe`FESSFc= z?88*vcP;yHCS+MEJHnrNM$Owh72CH?57W$~{aSS9k)cdHLFL zB^M+PoN`&X1!uA1Iy@jz@++dOoU0*+ff~9(3Kx4$NUke53sn^j-9^{(E$?XCsn`dB z*{FHVhb9^8Ro_+nz!LUOLK{zJ|LWn+ndFI2E?^ejz~|!bP7E@E z*Emez2;|3-6O*In=x7Yb3A_PcWh|K)Pn*+ex-ZXft8sR8+MLW*eaEwAdXh7%n>&m> zIguX8W~R){1Wma)5?YhfW|pqa`DKnMHIX*6YC&#gNsY%d<7PU;@y0#{+LL1=W9cz- zN_nhp?<>jl*vNEd(#(viMVmCWCC8?#9zAuNQ>Vi;3sP^Zcq~ga^$-0=)u}S>4E(E= zz_`vtxgxh-Ga-kThC``bs}z>#iFhMxH-pFO(6Blb@~W?}dP_|ytbO6b_=7r|-eQ3v@4c#!J7vv-|+W)7bZIZCnB*tR};3+)$n znlQv?Th-W(VfGU>2Ry=Kjx>yLaZ`115zXuY-S5$~Pl4w3_h{LFi`L)JrnH)?S{-bG z4z%MAZepOS*;`w8q1ldWcmk8!DS9ei%`(bfnidt!7+VeFAJ}<*0u;ONSF{;1LpR#r zA^tnAts9BQ?{GcXN)11VE}la#?uYPw7x*s3Fo8@6maW1jqhUI6A7C9(um^-aBy6Yw z*i9R=GYY>Tk% z24K&kVYiI_0Cpz|Rv>Jbu)PLgUq-|Fje!7mHwyNguor~AYykFEG;F~5B!JzEg1sV4 a5LW!(uqMp$9%*7)-Dex;{h}@`{{98uX!z0q literal 0 HcmV?d00001