1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/task4/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java Sat Oct 11 23:38:46 2008 +0200
1.3 @@ -0,0 +1,44 @@
1.4 +package org.apidesign.apifest08.test;
1.5 +
1.6 +import static junit.framework.Assert.assertEquals;
1.7 +import static junit.framework.Assert.assertFalse;
1.8 +import static junit.framework.Assert.assertTrue;
1.9 +import static org.apidesign.apifest08.test.Task1Test.CZK;
1.10 +import static org.apidesign.apifest08.test.Task1Test.SKK;
1.11 +import static org.apidesign.apifest08.test.Task1Test.USD;
1.12 +
1.13 +import java.math.BigDecimal;
1.14 +
1.15 +import org.apidesign.apifest08.currency.ConvertorFactory;
1.16 +import org.apidesign.apifest08.currency.ExtendedConvertor;
1.17 +import org.apidesign.apifest08.currency.Money;
1.18 +import org.apidesign.apifest08.currency.MoneyImpl;
1.19 +import org.junit.Test;
1.20 +
1.21 +
1.22 +public class ConvertorTest {
1.23 +
1.24 + private static final ExtendedConvertor CZK_TO_USD_CONVERTOR = ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), new MoneyImpl(1,USD));
1.25 + @Test
1.26 + public void testConvertSmall()
1.27 + {
1.28 + Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.17,CZK),USD);
1.29 + assertEquals(new MoneyImpl(new BigDecimal("0.01"),USD),converted);
1.30 + assertEquals(USD,converted.getCurrency());
1.31 + }
1.32 + @Test
1.33 + public void testConvertSmallReverse()
1.34 + {
1.35 + Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.01,USD),CZK);
1.36 + assertEquals(new MoneyImpl(new BigDecimal("0.17"),CZK),converted);
1.37 + }
1.38 + @Test
1.39 + public void testSupports()
1.40 + {
1.41 + assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(USD,CZK));
1.42 + assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,USD));
1.43 + assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,CZK));
1.44 + assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,SKK));
1.45 +
1.46 + }
1.47 +}