task3/solution02/test/org/apidesign/apifest08/test/Task3Test.java
changeset 56 a3144e7f9c90
parent 48 79a576394dd7
     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      }