task4/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java
changeset 61 58ec6da75f6f
parent 45 251d0ed461fb
     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 +}