diff -r 251d0ed461fb -r 58ec6da75f6f task4/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/task4/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java Sat Oct 11 23:38:46 2008 +0200 @@ -0,0 +1,44 @@ +package org.apidesign.apifest08.test; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertTrue; +import static org.apidesign.apifest08.test.Task1Test.CZK; +import static org.apidesign.apifest08.test.Task1Test.SKK; +import static org.apidesign.apifest08.test.Task1Test.USD; + +import java.math.BigDecimal; + +import org.apidesign.apifest08.currency.ConvertorFactory; +import org.apidesign.apifest08.currency.ExtendedConvertor; +import org.apidesign.apifest08.currency.Money; +import org.apidesign.apifest08.currency.MoneyImpl; +import org.junit.Test; + + +public class ConvertorTest { + + private static final ExtendedConvertor CZK_TO_USD_CONVERTOR = ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), new MoneyImpl(1,USD)); + @Test + public void testConvertSmall() + { + Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.17,CZK),USD); + assertEquals(new MoneyImpl(new BigDecimal("0.01"),USD),converted); + assertEquals(USD,converted.getCurrency()); + } + @Test + public void testConvertSmallReverse() + { + Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.01,USD),CZK); + assertEquals(new MoneyImpl(new BigDecimal("0.17"),CZK),converted); + } + @Test + public void testSupports() + { + assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(USD,CZK)); + assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,USD)); + assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,CZK)); + assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,SKK)); + + } +}