task3/solution11/test/org/apidesign/apifest08/test/Task2Test.java
changeset 53 09d690bb97f6
parent 45 251d0ed461fb
     1.1 --- a/task3/solution11/test/org/apidesign/apifest08/test/Task2Test.java	Tue Oct 07 11:05:34 2008 +0200
     1.2 +++ b/task3/solution11/test/org/apidesign/apifest08/test/Task2Test.java	Fri Oct 10 21:58:12 2008 +0200
     1.3 @@ -49,49 +49,49 @@
     1.4       *  any other method being called previously. The API itself shall know
     1.5       *  nothing about any rates, before this method is called.
     1.6       */
     1.7 -    public static Convertor<Integer, String> createTripleConvertor() {
     1.8 +    public static Convertor<Double, String> createTripleConvertor() {
     1.9          // Rates: 1USD = 15CZK
    1.10          // Rates: 1USD = 20SKK
    1.11          // Rates: 75CZK = 100SKK
    1.12 -        Collection<ExchangeRateValue<Integer, String>> exchangeRates =
    1.13 -                new ArrayList<ExchangeRateValue<Integer, String>>();
    1.14 +        Collection<ExchangeRateValue<Double, String>> exchangeRates =
    1.15 +                new ArrayList<ExchangeRateValue<Double, String>>();
    1.16          exchangeRates.add(ExchangeRateValue.getExchangeRate(
    1.17 -                CurrencyValue.getCurrencyValue(1, "USD"),
    1.18 -                CurrencyValue.getCurrencyValue(15, "CZK")));
    1.19 +                CurrencyValue.getCurrencyValue(1d, "USD"),
    1.20 +                CurrencyValue.getCurrencyValue(15d, "CZK")));
    1.21          exchangeRates.add(ExchangeRateValue.getExchangeRate(
    1.22 -                CurrencyValue.getCurrencyValue(1, "USD"),
    1.23 -                CurrencyValue.getCurrencyValue(20, "SKK")));
    1.24 +                CurrencyValue.getCurrencyValue(1d, "USD"),
    1.25 +                CurrencyValue.getCurrencyValue(20d, "SKK")));
    1.26          exchangeRates.add(ExchangeRateValue.getExchangeRate(
    1.27 -                CurrencyValue.getCurrencyValue(75, "CZK"),
    1.28 -                CurrencyValue.getCurrencyValue(100, "SKK")));
    1.29 -        return Convertor.getConvertorIntegerString(exchangeRates);
    1.30 +                CurrencyValue.getCurrencyValue(75d, "CZK"),
    1.31 +                CurrencyValue.getCurrencyValue(100d, "SKK")));
    1.32 +        return Convertor.getConvertorDoubleString(exchangeRates);
    1.33      }
    1.34  
    1.35      /** Define convertor that understands three currencies. Use it.
    1.36       */
    1.37      public void testConvertorForUSDandCZKandSKK() throws Exception {
    1.38 -        Convertor<Integer, String> c = createTripleConvertor();
    1.39 +        Convertor<Double, String> c = createTripleConvertor();
    1.40  
    1.41 -        CurrencyValue<Integer, String> result;
    1.42 +        CurrencyValue<Double, String> result;
    1.43          // convert $5 to CZK using c:
    1.44          // assertEquals("Result is 75 CZK");
    1.45 -        result = c.convert("CZK", CurrencyValue.getCurrencyValue(5, "USD"));
    1.46 -        assertEquals(CurrencyValue.getCurrencyValue(75, "CZK"), result);
    1.47 +        result = c.convert("CZK", CurrencyValue.getCurrencyValue(5d, "USD"));
    1.48 +        assertEquals(CurrencyValue.getCurrencyValue(75d, "CZK"), result);
    1.49  
    1.50          // convert $5 to SKK using c:
    1.51          // assertEquals("Result is 100 SKK");
    1.52 -        result = c.convert("SKK", CurrencyValue.getCurrencyValue(5, "USD"));
    1.53 -        assertEquals(CurrencyValue.getCurrencyValue(100, "SKK"), result);
    1.54 +        result = c.convert("SKK", CurrencyValue.getCurrencyValue(5d, "USD"));
    1.55 +        assertEquals(CurrencyValue.getCurrencyValue(100d, "SKK"), result);
    1.56  
    1.57          // convert 200SKK to CZK using c:
    1.58          // assertEquals("Result is 150 CZK");
    1.59 -        result = c.convert("CZK", CurrencyValue.getCurrencyValue(200, "SKK"));
    1.60 -        assertEquals(CurrencyValue.getCurrencyValue(150, "CZK"), result);
    1.61 +        result = c.convert("CZK", CurrencyValue.getCurrencyValue(200d, "SKK"));
    1.62 +        assertEquals(CurrencyValue.getCurrencyValue(150d, "CZK"), result);
    1.63  
    1.64          // convert 200SKK to USK using c:
    1.65          // assertEquals("Result is 10 USD");
    1.66 -        result = c.convert("USD", CurrencyValue.getCurrencyValue(200, "SKK"));
    1.67 -        assertEquals(CurrencyValue.getCurrencyValue(10, "USD"), result);
    1.68 +        result = c.convert("USD", CurrencyValue.getCurrencyValue(200d, "SKK"));
    1.69 +        assertEquals(CurrencyValue.getCurrencyValue(10d, "USD"), result);
    1.70      }
    1.71  
    1.72      /** Merge all currency rates of convertor 1 with convertor 2.
    1.73 @@ -99,42 +99,42 @@
    1.74       * into some API method which does the actual work, without requiring
    1.75       * API clients to code anything complex.
    1.76       */
    1.77 -    public static Convertor<Integer, String> merge(Convertor<Integer, String> one, Convertor<Integer, String> two) {
    1.78 -        return Convertor.mergeConvertorsIntegerString(one, two);
    1.79 +    public static Convertor<Double, String> merge(Convertor<Double, String> one, Convertor<Double, String> two) {
    1.80 +        return Convertor.mergeConvertorsDoubleString(one, two);
    1.81      }
    1.82  
    1.83      /** Join the convertors from previous task, Task1Test and show that it
    1.84       * can be used to do reasonable conversions.
    1.85       */
    1.86      public void testConvertorComposition() throws Exception {
    1.87 -        Convertor<Integer, String> c = merge(
    1.88 +        Convertor<Double, String> c = merge(
    1.89                  Task1Test.createCZKtoUSD(),
    1.90                  Task1Test.createSKKtoCZK());
    1.91  
    1.92 -        CurrencyValue<Integer, String> result;
    1.93 +        CurrencyValue<Double, String> result;
    1.94          // convert $5 to CZK using c:
    1.95          // assertEquals("Result is 85 CZK");
    1.96 -        result = c.convert("CZK", CurrencyValue.getCurrencyValue(5, "USD"));
    1.97 -        assertEquals(CurrencyValue.getCurrencyValue(85, "CZK"), result);
    1.98 +        result = c.convert("CZK", CurrencyValue.getCurrencyValue(5d, "USD"));
    1.99 +        assertEquals(CurrencyValue.getCurrencyValue(85d, "CZK"), result);
   1.100  
   1.101          // convert $8 to CZK using c:
   1.102          // assertEquals("Result is 136 CZK");
   1.103 -        result = c.convert("CZK", CurrencyValue.getCurrencyValue(8, "USD"));
   1.104 -        assertEquals(CurrencyValue.getCurrencyValue(136, "CZK"), result);
   1.105 +        result = c.convert("CZK", CurrencyValue.getCurrencyValue(8d, "USD"));
   1.106 +        assertEquals(CurrencyValue.getCurrencyValue(136d, "CZK"), result);
   1.107  
   1.108          // convert 1003CZK to USD using c:
   1.109          // assertEquals("Result is 59 USD");
   1.110 -        result = c.convert("USD", CurrencyValue.getCurrencyValue(1003, "CZK"));
   1.111 -        assertEquals(CurrencyValue.getCurrencyValue(59, "USD"), result);
   1.112 +        result = c.convert("USD", CurrencyValue.getCurrencyValue(1003d, "CZK"));
   1.113 +        assertEquals(CurrencyValue.getCurrencyValue(59d, "USD"), result);
   1.114  
   1.115          // convert 16CZK using c:
   1.116          // assertEquals("Result is 20 SKK");
   1.117 -        result = c.convert("SKK", CurrencyValue.getCurrencyValue(16, "CZK"));
   1.118 -        assertEquals(CurrencyValue.getCurrencyValue(20, "SKK"), result);
   1.119 +        result = c.convert("SKK", CurrencyValue.getCurrencyValue(16d, "CZK"));
   1.120 +        assertEquals(CurrencyValue.getCurrencyValue(20d, "SKK"), result);
   1.121  
   1.122          // convert 500SKK to CZK using c:
   1.123          // assertEquals("Result is 400 CZK");
   1.124 -        result = c.convert("CZK", CurrencyValue.getCurrencyValue(500, "SKK"));
   1.125 -        assertEquals(CurrencyValue.getCurrencyValue(400, "CZK"), result);
   1.126 +        result = c.convert("CZK", CurrencyValue.getCurrencyValue(500d, "SKK"));
   1.127 +        assertEquals(CurrencyValue.getCurrencyValue(400d, "CZK"), result);
   1.128      }
   1.129  }