1 package org.apidesign.apifest08.test;
3 import static org.apidesign.apifest08.test.Task1Test.CZK;
4 import static org.apidesign.apifest08.test.Task1Test.USD;
5 import static org.junit.Assert.assertEquals;
7 import java.math.BigDecimal;
9 import org.apidesign.apifest08.currency.Convertor;
10 import org.apidesign.apifest08.currency.ConvertorFactory;
11 import org.apidesign.apifest08.currency.Money;
12 import org.apidesign.apifest08.currency.MoneyImpl;
13 import org.junit.Test;
16 public class ConvertorTest {
18 private static final Convertor CZK_TO_USD_CONVERTOR = ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), new MoneyImpl(1,USD));
20 public void testConvertSmall()
22 Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.17,CZK),USD);
23 assertEquals(new MoneyImpl(new BigDecimal("0.01"),USD),converted);
24 assertEquals(USD,converted.getCurrency());
27 public void testConvertSmallReverse()
29 Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.01,USD),CZK);
30 assertEquals(new MoneyImpl(new BigDecimal("0.17"),CZK),converted);