From 96bb6313a5bc6909fc09d6b2ef931525a13a9558 Mon Sep 17 00:00:00 2001 From: Bo Lee Date: Tue, 13 Feb 2018 22:09:01 -0500 Subject: [PATCH] Lab Complete --- pom.xml | 23 ++- src/main/java/CurrencyConverter.java | 50 ++++++ src/main/java/DELETEME | 0 src/test/java/CurrencyConverterTest.java | 166 ++++++++++++++++++ src/test/java/DELETEME | 0 target/classes/CurrencyConverter.class | Bin 0 -> 1578 bytes .../test-classes/CurrencyConverterTest.class | Bin 0 -> 3055 bytes 7 files changed, 237 insertions(+), 2 deletions(-) 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.class diff --git a/pom.xml b/pom.xml index 682d6db..754f707 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,26 @@ wu-tang-financial 1.0-SNAPSHOT - - + + + junit + junit + 4.12 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 + + 1.8 + 1.8 + + + + \ 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..88ea18a --- /dev/null +++ b/src/main/java/CurrencyConverter.java @@ -0,0 +1,50 @@ +public class CurrencyConverter { + + private static final double USD = 1.00; + private static final double EUR = 0.94; + private static final double GBP = 0.82; + private static final double RUPEE = 68.32; + private static final double AUD = 1.35; + private static final double CAD = 1.32; + private static final double SGD = 1.43; + private static final double FRANC = 1.01; + private static final double RINGGIT = 4.47; + private static final double YEN = 115.84; + private static final double YUAN = 6.92; + + + public double convert(double value, String starting, String ending) { + + return value * getExchangeRate(ending)/getExchangeRate(starting); + } + + private double getExchangeRate(String currency) { + switch (currency) { + case "USD": + return USD; + case "EUR": + return EUR; + case "GBP": + return GBP; + case "RUPEE": + return RUPEE; + case "AUD": + return AUD; + case "CAD": + return CAD; + case "SGD": + return SGD; + case "FRANC": + return FRANC; + case "RINGGIT": + return RINGGIT; + case "YEN": + return YEN; + case "YUAN": + return YUAN; + + } + + return 0; + } +} 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..96096f5 --- /dev/null +++ b/src/test/java/CurrencyConverterTest.java @@ -0,0 +1,166 @@ +import org.junit.Assert; +import org.junit.Test; + +public class CurrencyConverterTest { + + @Test + public void convert_DollarToEuro() { + // Arrange + double initialValue = 1; + double expectedValue = .94; + String startingCurrency = "USD"; + String endingCurrency = "EUR"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_EuroToDollar() { + // Arrange + double initialValue = .94; + double expectedValue = 1; + String startingCurrency = "EUR"; + String endingCurrency = "USD"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + @Test + public void convert_EuroToGBP() { + // Arrange + double initialValue = .94; + double expectedValue = .82; + String startingCurrency = "EUR"; + String endingCurrency = "GBP"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_GBPToRUPEE() { + // Arrange + double initialValue = .82; + double expectedValue = 68.32; + String startingCurrency = "GBP"; + String endingCurrency = "RUPEE"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_RUPEEToCAD() { + // Arrange + double initialValue = 68.32; + double expectedValue = 1.32; + String startingCurrency = "RUPEE"; + String endingCurrency = "CAD"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_CADToSGD() { + // Arrange + double initialValue = 1.32; + double expectedValue = 1.43; + String startingCurrency = "CAD"; + String endingCurrency = "SGD"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_SGDToFRANC() { + // Arrange + double initialValue = 1.43; + double expectedValue = 1.01; + String startingCurrency = "SGD"; + String endingCurrency = "FRANC"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_FRANCToRINGGIT() { + // Arrange + double initialValue = 1.01; + double expectedValue = 4.47; + String startingCurrency = "FRANC"; + String endingCurrency = "RINGGIT"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_RINGGIToYEN() { + // Arrange + double initialValue = 4.47; + double expectedValue = 115.84; + String startingCurrency = "RINGGIT"; + String endingCurrency = "YEN"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + @Test + public void convert_YENToYUAN() { + // Arrange + double initialValue = 115.84; + double expectedValue = 6.92; + String startingCurrency = "YEN"; + String endingCurrency = "YUAN"; + + // Act + CurrencyConverter currencyConverter = new CurrencyConverter(); + double actual = currencyConverter.convert(initialValue, startingCurrency, endingCurrency); + + // Assert + Assert.assertEquals(expectedValue, actual, .000000001); + } + + +} 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..64f479234fead966bba405340d08de32be27b158 GIT binary patch literal 1578 zcmZXSUrbw79LK+hwzqes&~o{+F$83PSX(Zz4V-@pw562V4LWF749lFklshP^1uwTm zc`_OkpVYmW%=n~Qqerab_45-jm45}DXF|6XWiZd$Csu)o*>P1$G z{n@ttD1E0*iTysl@#U|+aV0*#@7cX6$7f1xx97q9A0PB8vBxrW`;ij+E42IY<11k$ z-m>S3Uy+W`Vv zS9!9TGi+{c4;|bfk5-F&N%Bhbwo$x3Yiu}mc)<(w<=3lL(VQ;HVml7hGbD5H;{}}a zV-iVj@nar2Kl0#>wj78T2tLjF;?kN~w4ZU+E`dp{8k?)NJ7)tjvaq+RMwyrTOc}Kk zqT$Qv<4Zls_BY}v`f-ZSAVg|Fm^@I&Eo8lpTgiiU+)f^<Tg8m>nMIj`@~)qtnRXwESa1~YW;7`d8o@{+3<;>=5~5?r~to6W8L zMEpzQPO&jC+c2TugX=Z}WgZ-jz>`mCKZkIAMSBaP=?hv5Li?HaU5NMw?E{F+HQHr} zg@?4iA^dHI_HQ@tuF?MBzWv5ev>#dDCEug{Mc3T-;JJxUT@zp9hOQ|Neds2=uWMe1 zwmqb(uBi@{71D~X9dhWZm$ayBK8NO1(gj^>bZ9atL&tQ@@8C#K#t!OQlY=LMGPp-t~SF>x6u#8vc*C4|H^ zM8q0&QQ@nVkEes(WAFC6&eas+Y@W>W7>@jhvKP~$$r;TYjZxv+AOARSHOS6;#CB}QjvJiBc0ye$s);j7C%7|Z zJg(XxfdoQ=B2fv1M2iFx-4}I3E09>Qb{^{F&kiO%SC?(ONNNG0-lw_BTFz*fb{dVk^&)u{{St0uS z+~wQ9y5}T1BgEF4qn3r}!-@NAe|&IAqF06JBR1FW1Br4%^snHo)hsHT z6-4A^qpVam6jNjEM$lzl)T$hfEGKHFsp{ox2}8f4nifW>Rcn?bU%4K*kTfb4#Vi`B znrU$4VQXq^x=Iamb4iY#P_JHA%a*#;hz(XP#k4eiyE!#WVMn>5L@J8D9Vu8Q-eHA) zRp0toFK_wrTsRtPPY^=|rEJxd3P=8YO}Dg5>V{U;fQ#$8VJVho=&%hg8|HRor-p>IwA)1^5r==U*%PgzQAi`y8jM!aSj@+B z362gn``K;Gxs*$%mr%%|=8HzeD5Y}yl0vI!l-A>jxeG?kEUSwetLs>Ee-ryl7iK%{ zp<{F$2V=c}WSpt>Jf>^w?V)wr5a~4!ouv}G*=)Wcb=owit>GI0v6ZpY&d^m)YPfA? zw%gd3y_&CV?%;%QBsQcR1%t`zdqvF7T_90D}p}U#OQb zHh}jpqn|{tU>-(0g*!*n?GP|B16d$=V7i3($wgzBejLj^X(uv5hp~77kfR+SF6{LG z1DR<-?qYpbkqCqM$Wy2EcS{L^62g8>p&}s${A2{psawB2c^(c%3LRk49aj83|=1TmU0%95-8_Dc^#BDK)C?Q zCMe~eQsz5RhCvz4g2BsU-BK=sqJgpl%A26*pctT-pj3NGiFTrlf-;^3gO{J`mU0!8 zYoP3c@-`^%fbuRV?}74uPbslZlyOidvS9G?;ch7(g7Oh4*FpIhlutmp0m`SKeAZJ+ ryc1;tlp|R%csbB5@1Vp#n>5g4 literal 0 HcmV?d00001