1.1 --- a/task3/solution02/test/org/apidesign/apifest08/test/Task3Test.java Tue Oct 07 11:19:36 2008 +0200
1.2 +++ b/task3/solution02/test/org/apidesign/apifest08/test/Task3Test.java Fri Oct 10 22:07:25 2008 +0200
1.3 @@ -1,6 +1,11 @@
1.4 package org.apidesign.apifest08.test;
1.5
1.6 +import static org.apidesign.apifest08.currency.MoneyImpl.money;
1.7 +import static org.apidesign.apifest08.test.Task1Test.CZK;
1.8 +import static org.apidesign.apifest08.test.Task1Test.SKK;
1.9 +import static org.apidesign.apifest08.test.Task1Test.USD;
1.10 import junit.framework.TestCase;
1.11 +
1.12 import org.apidesign.apifest08.currency.Convertor;
1.13
1.14 /** The exchange rates are not always the same. They are changing. Day by day,
1.15 @@ -51,42 +56,33 @@
1.16 // then 1USD = 15.02CZK
1.17 // and so on and on up to 1USD = 16CZK
1.18 // and then another round to 15, etc.
1.19 - return null;
1.20 + return new OnlineConvertor();
1.21 }
1.22
1.23 public void testFewQueriesForOnlineConvertor() {
1.24 - if (Boolean.getBoolean("ignore.failing")) {
1.25 - // implement me!
1.26 - return;
1.27 - }
1.28 -
1.29 Convertor c = createOnlineCZKUSDConvertor();
1.30 doFewQueriesForOnlineConvertor(c);
1.31 }
1.32
1.33 static void doFewQueriesForOnlineConvertor(Convertor c) {
1.34 // convert $5 to CZK using c:
1.35 - //assertEquals("Result is 80 CZK");
1.36 + assertEquals("Result is 80 CZK", money(80,CZK), c.convert(money(5,USD), CZK));
1.37
1.38 // convert $8 to CZK using c:
1.39 - //assertEquals("Result is 127.92 CZK");
1.40 + assertEquals("Result is 127.92 CZK", money(127.92,CZK), c.convert(money(8,USD), CZK));
1.41
1.42 // convert $1 to CZK using c:
1.43 - //assertEquals("Result is 15.98 CZK");
1.44 + assertEquals("Result is 15.98 CZK", money(15.98,CZK), c.convert(money(1,USD), CZK));
1.45
1.46 // convert 15.97CZK to USD using c:
1.47 + assertEquals("Result is 1 USD", money(1,USD), c.convert(money(15.97,CZK), USD));
1.48 //assertEquals("Result is 1$");
1.49
1.50 - fail("Implement me!");
1.51 }
1.52
1.53 /** Join the convertors and show they behave sane.
1.54 */
1.55 public void testOnlineConvertorComposition() throws Exception {
1.56 - if (Boolean.getBoolean("ignore.failing")) {
1.57 - // implement me!
1.58 - return;
1.59 - }
1.60
1.61 Convertor c = Task2Test.merge(
1.62 createOnlineCZKUSDConvertor(),
1.63 @@ -94,10 +90,10 @@
1.64 );
1.65
1.66 // convert 16CZK to SKK using c:
1.67 - // assertEquals("Result is 20 SKK");
1.68 + assertEquals("Result is 20 SKK", money(20,SKK), c.convert(money(16,CZK), SKK));
1.69
1.70 // convert 500SKK to CZK using c:
1.71 - // assertEquals("Result is 400 CZK");
1.72 + assertEquals("Result is 400 CZK", money(400,CZK), c.convert(money(500,SKK), CZK));
1.73
1.74 doFewQueriesForOnlineConvertor(c);
1.75 }