From 077b35489b58a881291ac7c4cc076e5b92aea36a Mon Sep 17 00:00:00 2001 From: Jordan Elderidge Date: Fri, 2 Mar 2018 14:27:13 -0500 Subject: [PATCH] Done --- pom.xml | 5 + src/main/java/CurrencyConvert.java | 37 +++++++ src/test/java/CurrencyConvertTest.java | 102 ++++++++++++++++++ target/classes/CurrencyConvert.class | Bin 0 -> 1891 bytes .../test-classes/CurrencyConvertTest$1.class | Bin 0 -> 1023 bytes target/test-classes/CurrencyConvertTest.class | Bin 0 -> 2787 bytes 6 files changed, 144 insertions(+) create mode 100644 src/main/java/CurrencyConvert.java create mode 100644 src/test/java/CurrencyConvertTest.java create mode 100644 target/classes/CurrencyConvert.class create mode 100644 target/test-classes/CurrencyConvertTest$1.class create mode 100644 target/test-classes/CurrencyConvertTest.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/CurrencyConvert.java b/src/main/java/CurrencyConvert.java new file mode 100644 index 0000000..fe06869 --- /dev/null +++ b/src/main/java/CurrencyConvert.java @@ -0,0 +1,37 @@ +import java.text.NumberFormat; +import java.util.HashMap; + +public class CurrencyConvert { + + + private HashMap converter; + + + public CurrencyConvert() { + 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) { + CurrencyConvert test = new CurrencyConvert(); + System.out.println(test.makeConversion("CAD", "CHF", 200.00F)); + } + } + diff --git a/src/test/java/CurrencyConvertTest.java b/src/test/java/CurrencyConvertTest.java new file mode 100644 index 0000000..ead10a7 --- /dev/null +++ b/src/test/java/CurrencyConvertTest.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 CurrencyConvertTest { + private static CurrencyConvert test; + + @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); + }}; + test = new CurrencyConvert(); + } + + @Test + public void dollarToEuro() { + String actual = test.makeConversion("USD", "EUR", 500.00F); + Assert.assertEquals("$470.00", actual); + } + + @Test + public void euroToDollar() { + String actual = test.makeConversion("EUR", "USD", 500.00F); + Assert.assertEquals("$531.91", actual); + } + + @Test + public void britishPoundToDollar() { + String actual = test.makeConversion("GBP", "USD", 500.00F); + Assert.assertEquals("$609.76", actual); + } + + + @Test + public void euroToBritishPound() { + String actual = test.makeConversion("EUR", "GBP", 500.00F); + Assert.assertEquals("$436.17", actual); + } + + + @Test + public void britishPoundToIndianRupee() { + String actual = test.makeConversion("GBP", "INR", 500.00F); + Assert.assertEquals("$41,658.54", actual); + } + + + @Test + public void rupeeToCanadianDollar() { + String actual = test.makeConversion("INR", "CAD", 500.00F); + Assert.assertEquals("$9.66", actual); + } + + + @Test + public void canadianDollarToSingaporeDollar() { + String actual = test.makeConversion("CAD", "SGD", 500.00F); + Assert.assertEquals("$541.67", actual); + } + + @Test + public void SingaporeDollarToSwissFranc() { + String actual = test.makeConversion("SGD", "CHF", 500.00F); + Assert.assertEquals("$353.15", actual); + } + + @Test + public void SwissFrancToMalaysianRinggit() { + String actual = test.makeConversion("CHF", "MYR", 500.00F); + Assert.assertEquals("$2,212.87", actual); + } + + @Test + public void MalaysianRinggitToJapaneseYen() { + String actual = test.makeConversion("MYR", "JPY", 500.00F); + Assert.assertEquals("$12,957.50", actual); + } + + @Test + public void JapaneseYenToChineseYuanRenminbi() { + String actual = test.makeConversion("JPY", "CNY", 500.00F); + Assert.assertEquals("$29.87", actual); + } + + } + diff --git a/target/classes/CurrencyConvert.class b/target/classes/CurrencyConvert.class new file mode 100644 index 0000000000000000000000000000000000000000..4b05de8aadbe9a21520b61a97119eca9ec595fdd GIT binary patch literal 1891 zcmZuyOLN;)6#it(vEr&uqCDE9X(25XCuwU4uaKm15~t1s=g~Sz8_G*@6-TKp8Cec= z$pVHA(-r&yx?sU{coe5YXBcMKF|cOEngwgN4BwU1MyWHNxw_xE_nh;c?;Od${rA() z0A7Ndzzdj-<4OV%%(h|xIR$eGoWZ=XEGSr%Gu5yDRPd&px%$s13i9&IX96$DnQwmo zL&36~`TE~q6|Bga{lsMjt8(V!x%&#P%2Rg*z9!H7eZNaVL7w`ndM|-Btc%DSaa4C{@8Z2U-j~o?w5>hEaSca8XMR`T)6;d=ET`x7+Rl<* z9p{aLS+aDu?idnAn{Q0`rm}98(goKstDq^HwdobRZnob>Ox#z$`27sfvn5;{h$UUn&7MK@V#PwHkUXi%6ZuI`j5SLYGObassz zVL0p&TFIL@$r4b107hx z{(*`8@RBxlj*Tc8?ql8yR?XF|B1P{@1yPzj*y|`=B%D8j%#o=R+u}vr5EarlHAsRh zrGfZ$4=Gw}7$&r1VW?`y!!W6}g<-qa5r&%98HQb2cNq3)C&KWg)*FU>+Nl73=T(&E zI))_I1Y{gT8&sUean_i`IME{7v55{&xrPtXiBHjmFVKy9=)n&-ffwniQVnXrzmO3= zB{9~%KKPO`TWA}3i2gCT*VE-f1E+t%nFgK_x(q)-)W6@9eCE#Yrvk3?xo2)X#b@4r`!3)HpLz55i-2i9b0E$N zxXEXpl=cPO;^$wwahlKl+7Anu;pcxgUi&fY#~g6-Z4!@uRY2e`krFi z>xyNkDPcy{Rhu%S@s1f|8yxt&v8`|jmQ`I@aUO0d=DNJ45yQ$xP1ZJKQ+4AO$-9r_ zAT8;-V&*m3vJ?sjJ9UqxXo5gR-O**+F{$Bnc~{<(la8%w$wk?!FUyUYLrRnNon*x} zRedMj#uPO}w$pReMywc)SyPItJ6N=X*a^2asaVi!nqg6&WyP)=+kRvu%p)t|1Wrmg zg)E1zYNg;uPC_092@5C^wNSlFwv<~VyR_osY_&i(pLK1e)WnN!=JKX{dV6itJzXIi z=`c+!#i8$rSPuOiayfKcid}6`zqtE8g3Y?-Mw=b&*1`$9AVf4|+442T4X^IMnU=0Jfk3rNCg^eLRCb`c^@L8%FI249+I8PBtY%YNQ c3S6Mbhl_|e{TLGDd5lx%7$K2XGfbYY|HG;5OaK4? literal 0 HcmV?d00001 diff --git a/target/test-classes/CurrencyConvertTest.class b/target/test-classes/CurrencyConvertTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0c1954f497c968f622b1c46ce54ebf811bdbead7 GIT binary patch literal 2787 zcmb7`Yg5}s6oy}Mvv3?t#5D;tq;(49!NK}&P@Uz;^ zG?`|mKcGLUA3A;4Hjx2+s6U|HJ$v?j&RL(c!{7h@`4@mB&cb+%ObAP1G+{Y}l`vY6 zX~z&&RjjF4Z^`@vgt37aawn@|GmI^4tJqQTQpK){oQk}PJr(;ZUa9y_#es_NRlHX5 zM#WndKdAUo#ZM|k2!#-e3L@*4WjL9Va9zVy(Bc`cr{G>TQ+6D~Dqd!6>%wrnSp{u# zre%8b3Yteo_vx9j4-Ey;tZ5lr<+Fm}m@Q?6^q7VpHQe9ukYJaN=+ zbq#OtTtSEJn8&6iO1nnUb`BMEWlzP0h?hOH6kikW$)-4`d+&9`<@pt6`nLOA)l?GJ zaXjZargc19XIUxP!ke9^=KbBW<(X&3zUi8bd%?17Pk5$nF>I#f9LG<~%s;+p9NCV+ z1Cc|!R1!|!UM@Q}uSXQUvM5RCO33v<1)X&YwVWdc&*kl1IC9L}8DR-&zS4hGyk^MTIbMZ0XD(MB4{uoL@{8%Z zD~_;OCQ)TygjK_xG8GK#%(M!o zf^g0*J4Iu~lvUJ!qX6Zl>GEPD_!3_+&4B$_Qf{(pqBk}p_yRE&?p|(*-{rmC5R3?p za2&x2NDjp&rxJQ15yEK%@4z216iZDc^_e8yR~L8WI-Qu&r_vSQiL{=a;?DZkE~Ac3 zCdbmLX+1SbQ)YpL*4T`mrfYLxtBao=kDQc|d{o*!b9Za$KL5 z9veFcQZhL{Hj|ptQwe!!i>9{N_)Nv4>qctwURYj!$!!--jUr9`BZ0jpTQ}-^SL&ZJ zU5HZI*gj$zj;xH<6>zmb*qCSHol$)YT=s;5^^rQS+kJK0QdO$guK6%}zq=Or3^|NG zBHts&TmG3X#ReR%r&Tko@8X(ebe}Ki5dQ#PqWsM{yURH%hTmbX;v5x@txw)V`IVC< zjPTo5F@`b9d8F!qCwR)0f-xR$svIt$nKPjKBbp8<(475kERd6ShIviw0oNgJHc|zYn_~1luNThp?9o zz~+Nt{n`T`_Am&xN7z1LuNr`T6AXKx4fwFZAlPfd-VpY-0ob>}umSBeAND8+CI~AK ZR{Y