From f8a495b362479222d467fcc3d09f01ecaf101722 Mon Sep 17 00:00:00 2001 From: Kibret Tecle Date: Tue, 13 Feb 2018 20:26:48 -0500 Subject: [PATCH 1/2] First commit, work in progress --- pom.xml | 5 ++ src/main/java/CurrencyConverter.java | 48 ++++++++++++++++++ src/main/java/DELETEME | 0 src/test/java/CurrencyConverterTest.java | 23 +++++++++ src/test/java/DELETEME | 0 target/classes/CurrencyConverter.class | Bin 0 -> 1909 bytes .../CurrencyConverterTest$1.class | Bin 0 -> 991 bytes .../test-classes/CurrencyConverterTest.class | Bin 0 -> 1272 bytes 8 files changed, 76 insertions(+) create mode 100644 src/main/java/CurrencyConverter.java delete mode 100644 src/main/java/DELETEME create mode 100644 src/test/java/CurrencyConverterTest.java delete mode 100644 src/test/java/DELETEME 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..7b42e42 --- /dev/null +++ b/src/main/java/CurrencyConverter.java @@ -0,0 +1,48 @@ +import java.util.HashMap; + + /** + * Created by Kibret + */ + +import java.text.NumberFormat; + +public class CurrencyConverter { + + + + private HashMap exchangeRateRecord; + + + public CurrencyConverter () { + exchangeRateRecord = new HashMap(); + exchangeRateRecord.put("USD", 1.00F); + exchangeRateRecord.put("EUR", 0.94F); + exchangeRateRecord.put("GBP", 0.82F); + exchangeRateRecord.put("INR", 68.32F); + exchangeRateRecord.put("AUD", 1.35F); + exchangeRateRecord.put("CAD", 1.32F); + exchangeRateRecord.put("SGD", 1.43F); + exchangeRateRecord.put("CHF", 1.01F); + exchangeRateRecord.put("MYR", 4.47F); + exchangeRateRecord.put("JPY", 115.84F); + exchangeRateRecord.put("CNY", 6.92F); + + } + + + public String currencyConverter(String fromCurrencyCode, String toCurrencyCode, Float amountToConvert) { + NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); + String result =currencyFormatter.format(exchangeRateRecord.get(toCurrencyCode) / (exchangeRateRecord.get(fromCurrencyCode))* amountToConvert); + return result; + + + } + + + public HashMap getExchangeRateRecord() { + return exchangeRateRecord; + } +} + + + diff --git a/src/main/java/DELETEME b/src/main/java/DELETEME deleted file mode 100644 index e69de29..0000000 diff --git a/src/test/java/CurrencyConverterTest.java b/src/test/java/CurrencyConverterTest.java new file mode 100644 index 0000000..e1e133e --- /dev/null +++ b/src/test/java/CurrencyConverterTest.java @@ -0,0 +1,23 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.HashMap; + +public class CurrencyConverterTest { + private static CurrencyConverter tester; + + @Before + public void setUp() { + HashMaporiginalRecord = 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 testCurrencyConverter() { + String expected = "$609.76"; + String actual = tester.currencyConverter("GBP", "USD", 500.00F); + + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/DELETEME b/src/test/java/DELETEME deleted file mode 100644 index e69de29..0000000 diff --git a/target/classes/CurrencyConverter.class b/target/classes/CurrencyConverter.class new file mode 100644 index 0000000000000000000000000000000000000000..ab88c07e72f30b2958607428ba6348992dba8558 GIT binary patch literal 1909 zcmZuyOLN;)6#it(v0_Bx+}LhjElpdB^Jop>6_PYgV%K@#JQ^oyO?fHqwWDB5MwUan zWC6p5=?eY;U9ey}1&Y(5GYm8A7+AAn&4M*shI1vgQEmtS;2~&u7CB1f;Z*#wZA`6ke3%e6L?ilfAib# z3fAQG*Z=&YU|mihMy@E>kkcP8-dAun^9t#*q`bfn!&LbPm|wWGv>HaqEFmu()u)veXcreSZH9$TX7^K&!$ z=;utUrrA`Jgg*D4&2QT&R~`3I=xFgqvucxqHBC1pB$79MLA}Bpg*B@pG&|v#oNeBq z7?Fb6v`Rdu3*{3>>^*TWi+NBnj!Q(dZ8lUSF+%;^E@V|`*i}&iO;Pab_9m^13mdd9 zuZjKqc9z!6yjTm1&VDIJ`_-a2UD+s#(>0n}uA+>JiaqEw8%{=NupF&a?BfF!Rn&-0 z8`m%l6(;H`UdAh7e5k?#l^;C{vc9{|OH_3DK&v+SdRam&ne%u2Nk@Y9CS9BKkC5x@ zpKQlgZdpL7YP?nAai2sNLjpbJEB7J zO^%Sv9c5>*B*c?hzmGR7$22P3Y1o|f4VprNxI0<8ncAQi+a?FD)reECQ{Qnj=~@?; zsx*^vKij7xNnfC0`Z@v(fBXqP7zV0A}b^2k1J>!Qed)5!TShpWWS&ttw*6W8c7WcyhJLQLctltj@*q{f$ zbt+2HI)yG;qma>qZZMoiFVz^sG~!r60!5snIq$DzrsRG{m+=-(|BN#&JSTJ+dy0%pWZM6{g|kzk{?G&R z3P7;yB8`D_2;n^83r@yaH>#JB;^S4k=CGK+>$D4qoS4KLMl*QNuN2%vqxOk+M%Vr!3MI9tAqW*;Ik2K~8DWu#y MWtZr;KsbQRf6SE2^Z)<= 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..217640d2ed7872f225a10d0985230841c46afe37 GIT binary patch literal 991 zcmZ`%&rcIk5dOA2=&~*XPku;IM6FtiQtD5%z|t04H06iZVmK~kg(d55v)v`}=)uH` z@sH4h2SegPF&?}aFGkOvJbUo$)i`fyHchCT?94aco0^P@e_bFik*nzl7eAO z$Ve%eL|P%{vWzQCtG)ao<0{kc{(dUs8p}Ns@pY!X`SxAL4W_;R^I66e)Ap4a88?~s zq_`*J7Mpt^;tb3E+Ut`s&E|gAUPUnz#jJ!5Z`-WLCnXG)^1kaDcJ*=Iv3CvEGu-<| z-OEtQv}v0j<;D{K$r)Rd!1B(fA)&iu+Qzc~XoJf24T~6Fa;mzurn{zy8zd8-m7w0X zZNtr5dcAH?IMlj-JWVP(%jTA?d%jC8r%F5euAcHe(@HJs_3b6SHhn-@y1kVud#-73 zWty0R<>+2!mf9#~$9Jnn!4%SBEk~XZ&1sSayJ|Ug>a=8d+s zXseXxqsXbqV_wAq3Pdeb?vX9#R>|I87C2j(C!5a-TP_B8QDiQyi_<%+>*92o>|jeh z@w9~ALjz0bZ<#Hjy>57w8ud(w|I!^)273v%AR)S|TfVXKP(oj#Fm`B5R9N#pT5_W4 zXk}x^sCvySZ7|LC4GN=lVTb89OFcbeR|3&Hf>Y#234K8uBIKVZ$KOFp?jw@qZR!WG z_h^5Rz=bU@)Ouzs9`VGJgUL=u1Rzog{2*x!`BoRZl6Wy3h;6VaY z3FKqNA3ze*m{FS#lX!&38lGsF70}llM|wrusMlp(Anwb$FFk=wso3y5>6j-)*EyCR zg9UCcT8`x}2}HBGvOuip?n!}E$#Ue|#!*Fj+eXD^Bwcb%!!8@1rM_Fin15iAVla%n zO;VzF)TO^u6X zY{RMMw|viXs)e@5s_hznVTqW-n+?aej%3-YTU5U6IIeH_mg`VBi}I@Z!v-D5ugHDZ zlRVI`3=3H$kdPm0()1-V{-?j{!lW+q1J5bq*svRNV_%>zyP9irs@W6DH~+qe0&Cf} z#Be*qktSF>{6!;rE}Oc{H{h`ZT|EZRfAyXXV&BKw*_vgxU!GPZSH^9=x)fif;A5l1 zTt&HNk2v=8E6-VQ?ifFX_{c>B103T)P{SbCdNTn-80Ht<=Gba zI!A2x6dj)tS6I;itDCbzQGWm#icy#Y&2ufxPITcKt`qx4kSUm}A~zYi#fVZf!dbAK z-`pnuHWcn~S}T1*Je^2)rjuvr`T~7@V)6`EE{jPs6|6l<`V55+kzR=yX#%uFD6w~N dmn0byj&c>bAiu}#2<`{t7 Date: Thu, 15 Feb 2018 15:25:16 -0500 Subject: [PATCH 2/2] WuTangFinancial --- src/main/java/CurrencyConverter.java | 6 +- src/test/java/CurrencyConverterTest.java | 86 +++++++++++++++++- target/classes/CurrencyConverter.class | Bin 1909 -> 1749 bytes .../CurrencyConverterTest$1.class | Bin 991 -> 0 bytes .../test-classes/CurrencyConverterTest.class | Bin 1272 -> 2861 bytes 5 files changed, 87 insertions(+), 5 deletions(-) delete mode 100644 target/test-classes/CurrencyConverterTest$1.class diff --git a/src/main/java/CurrencyConverter.java b/src/main/java/CurrencyConverter.java index 7b42e42..b55a953 100644 --- a/src/main/java/CurrencyConverter.java +++ b/src/main/java/CurrencyConverter.java @@ -1,4 +1,5 @@ import java.util.HashMap; +import java.text.DecimalFormat; /** * Created by Kibret @@ -31,8 +32,9 @@ public CurrencyConverter () { public String currencyConverter(String fromCurrencyCode, String toCurrencyCode, Float amountToConvert) { - NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); - String result =currencyFormatter.format(exchangeRateRecord.get(toCurrencyCode) / (exchangeRateRecord.get(fromCurrencyCode))* amountToConvert); + DecimalFormat formatter = new DecimalFormat("0.##"); + // NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(); + String result =formatter.format(exchangeRateRecord.get(toCurrencyCode) / (exchangeRateRecord.get(fromCurrencyCode))* amountToConvert); return result; diff --git a/src/test/java/CurrencyConverterTest.java b/src/test/java/CurrencyConverterTest.java index e1e133e..9937fcb 100644 --- a/src/test/java/CurrencyConverterTest.java +++ b/src/test/java/CurrencyConverterTest.java @@ -9,15 +9,95 @@ public class CurrencyConverterTest { @Before public void setUp() { - HashMaporiginalRecord = 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 testCurrencyConverter() { - String expected = "$609.76"; + String expected = "609.76"; String actual = tester.currencyConverter("GBP", "USD", 500.00F); Assert.assertEquals(expected, actual); } + @Test + public void dollarToEuro() { + String expected = "470"; + String actual = tester.currencyConverter("USD", "EUR", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void euroToDollar() { + String expected = "531.91"; + String actual = tester.currencyConverter("EUR", "USD", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void britishPoundToDollar() { + String expected = "609.76"; + String actual = tester.currencyConverter("GBP", "USD", 500.00F); + Assert.assertEquals(expected, actual); + } + + + @Test + public void euroToBritishPound() { + String expected = "436.17"; + String actual = tester.currencyConverter("EUR", "GBP", 500.00F); + Assert.assertEquals(expected, actual); + } + + + @Test + public void britishPoundToIndianRupee() { + String expected = "41658.54"; + String actual = tester.currencyConverter("GBP", "INR", 500.00F); + Assert.assertEquals(expected, actual); + } + + + @Test + public void rupeeToCanadianDollar() { + String expected = "9.66"; + String actual = tester.currencyConverter("INR", "CAD", 500.00F); + Assert.assertEquals(expected, actual); + } + + + @Test + public void canadianDollarToSingaporeDollar() { + String expected = "541.67"; + String actual = tester.currencyConverter("CAD", "SGD", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void SingaporeDollarToSwissFranc() { + String expected = "353.15"; + String actual = tester.currencyConverter("SGD", "CHF", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void SwissFrancToMalaysianRinggit() { + String expected = "2212.87"; + String actual = tester.currencyConverter("CHF", "MYR", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void MalaysianRinggitToJapaneseYen() { + String expected = "12957.5"; + String actual = tester.currencyConverter("MYR", "JPY", 500.00F); + Assert.assertEquals(expected, actual); + } + + @Test + public void JapaneseYenToChineseYuanRenminbi() { + String expected = "29.87"; + String actual = tester.currencyConverter("JPY", "CNY", 500.00F); + Assert.assertEquals(expected, actual); + } + + } \ No newline at end of file diff --git a/target/classes/CurrencyConverter.class b/target/classes/CurrencyConverter.class index ab88c07e72f30b2958607428ba6348992dba8558..5e0e3506e4d371de0b9085d0f4c3c06015fd4cf1 100644 GIT binary patch delta 786 zcmZ`%OH30{6g@NZrX9)%;cpcLEY=nZ#Xk<8sk9V?qEbYy_#4YeA*Ch5@Nw0+(6}MS zOiWz3lZ6X|8c8vl7!%{h=+d}y;mR1-Y>jtX65Y7D@16VZx#!$FvsLzGNABbA*KYwF zK+=U4s7{1j;GvelgA)?^U1&ns&O{^(Fm?X%R|!$3j{UkVVUYFTweb*BpMLr*;UrU^ zY`vE-%+yU+uY?h%-Wpt&5M!ZxHXddDKh~=yoMNGG^J`9=mT;!Qg?fzH0&yqCZMCy@ zX2OYcPMm-7Y?YfTxsf&IG}F`#4(`~jwxk73eZ>q$^yJK(mW~!)yE!-vePJ;TjgS{m0(FPnrZ(n^j$dG44I*GKOr7I2y`c#6x*y3 z@k1^^c?D$@E5J~Ra#W!K)d-*l-KfPd>X5)rq~OLfcHs_o;{mOBjjCRv5$(j3sT;6? z4g~4s&`JLT^{4wI>gk}f>kaA?l?|KNqcAsX-2e;Z(fAHcxjdR}*j9vuGVK&*SM%7b zh;H#Yk$Ex$vM5mWpp*tWLL=G2eZ}V6!X$%(I8-pxg~N2?siupnj}o_(7{>@P!UB%d pt4NhGg{I^SUV{YfIYisfUtLEb+5XR<;sQx>&s7I0@PQe+bmtRRTnP{&$qr*%37IaLoDFT_Km zCvS4_U)`2tiK*AbF&1L5=?-q}2Zn=&GZawzm~ z>G#L9Sydi`>pdhi6uKYAZXe_-!ZUMg!v0ljTtD8x?KQ4R;yIMIe848ny;>>?+N zF$Xv9qXdsoiba&+CEc7R>XeBMSf!iXLMLbXX!6tdW8%!Cvt=D+t<25pR>2xFD1VEJ z40aPrvHCwyYoyrBLI!(Ut#0cwwOL@wDWcBj2&9eEk- m&0yaO<^Pt`0Fh`*NsQ@$E7uPnx(JEn-3c1c(bJvn^Zx>+NYVQM diff --git a/target/test-classes/CurrencyConverterTest$1.class b/target/test-classes/CurrencyConverterTest$1.class deleted file mode 100644 index 217640d2ed7872f225a10d0985230841c46afe37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmZ`%&rcIk5dOA2=&~*XPku;IM6FtiQtD5%z|t04H06iZVmK~kg(d55v)v`}=)uH` z@sH4h2SegPF&?}aFGkOvJbUo$)i`fyHchCT?94aco0^P@e_bFik*nzl7eAO z$Ve%eL|P%{vWzQCtG)ao<0{kc{(dUs8p}Ns@pY!X`SxAL4W_;R^I66e)Ap4a88?~s zq_`*J7Mpt^;tb3E+Ut`s&E|gAUPUnz#jJ!5Z`-WLCnXG)^1kaDcJ*=Iv3CvEGu-<| z-OEtQv}v0j<;D{K$r)Rd!1B(fA)&iu+Qzc~XoJf24T~6Fa;mzurn{zy8zd8-m7w0X zZNtr5dcAH?IMlj-JWVP(%jTA?d%jC8r%F5euAcHe(@HJs_3b6SHhn-@y1kVud#-73 zWty0R<>+2!mf9#~$9Jnn!4%SBEk~XZ&1sSayJ|Ug>a=8d+s zXseXxqsXbqV_wAq3Pdeb?vX9#R>|I87C2j(C!5a-TP_B8QDiQyi_<%+>*92o>|jeh z@w9~ALjz0bZ<#Hjy>57w8ud(w|I!^)273v%AR)S|TfVXKP(oj#Fm`B5R9N#pT5_W4 zXk}x^sCvySZ7|LC4GN=lVTb89OFcbeR|3&Hf>Y#234K8uBIKVZ$KOFp?jw@qZR!WG z_h^5Rz8?SB+N^wQZv2SOhtwCMJsFQ9LS0YmT-Lu+epJ*Di}~URK+g zCX>$e1@tBLk4(P1U?9rS4zn}Q@jJes=lDJQ&xiMa0|-M4U;;~iJPp8urE9o@XEK&$ ztjI|DQvU)0tYXb^rUO{VhKx-aTQa_pk&&@2V@JlWj6E6O%Gj5Ym64NiAR{m1I~m{0 zIF#|+j~9Ntl+bN!6CgDa# zH?*DVX+g7cqEMzq$(Th^&I?O-=5?dbKGrJ|hOa8;2&H;gMY9jiB#iD?4O>6e@_I#Q z`m$k|wy<^6U^bPlqtHo}%LuJ#uT4v1;*hiIE9;dYYrmdpMO!O5c_-prgv!D=3T16e zH;$a`h@xE;WeI&vs`bSLOJ=z&tem-4wM+>?ja|-Mb&V1R3zlx{mE%3LYLpsgr53f) z~^W}NCqL6;E7 znpLZ)rFG}N$F3Z{bBd~S@zDiA6AoL4x;mMHJspGN5k>hf*Ol5WOIihzN8v=WK+wl zPJA@1#u?_#t~=BD*t{B!Io^%51b-wFj;ITcd;5^7{%|B2OQ?>2YwwVS8A;Z>sU6OS zu588GEQ_d7VY`JB)*W9)!;~(Yf)@X|C|9-J*DRr#^lVd6x_;JVfAR9Wldw6{6j-m` zww9V$v;3!;?`yoDW0@mYZGiGY;uFRJ$IGBrnYF@bywt&pfPA^Q&(V4!s@`Ul( z(?=5X78Y>dLIsNw4=gNUS-@2c@uBYO!v$Yqy)s^lzw5t7vb+;OaA$H7>BJOebmMP^ zx972z;t7x#V6+n4gFy`OBrwcg4KDFEXEo;j6KGq-Bk2AKjIAT|d_wAwbsdT;%dA+` zwL8>SoL+bCj5C8?jNmf4uK;_AV7GLYrE6?gc1D>6#{P@f`C5v2$d>*`r0levvCU)j zeulL%F?oy&%7K