task4/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 11 Oct 2008 23:38:46 +0200
changeset 61 58ec6da75f6f
parent 45 task3/solution02/test/org/apidesign/apifest08/test/ConvertorTest.java@251d0ed461fb
permissions -rw-r--r--
Copying structure for task4
     1 package org.apidesign.apifest08.test;
     2 
     3 import static junit.framework.Assert.assertEquals;
     4 import static junit.framework.Assert.assertFalse;
     5 import static junit.framework.Assert.assertTrue;
     6 import static org.apidesign.apifest08.test.Task1Test.CZK;
     7 import static org.apidesign.apifest08.test.Task1Test.SKK;
     8 import static org.apidesign.apifest08.test.Task1Test.USD;
     9 
    10 import java.math.BigDecimal;
    11 
    12 import org.apidesign.apifest08.currency.ConvertorFactory;
    13 import org.apidesign.apifest08.currency.ExtendedConvertor;
    14 import org.apidesign.apifest08.currency.Money;
    15 import org.apidesign.apifest08.currency.MoneyImpl;
    16 import org.junit.Test;
    17 
    18 
    19 public class ConvertorTest {
    20 
    21 	private static final ExtendedConvertor CZK_TO_USD_CONVERTOR = ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), new MoneyImpl(1,USD));
    22 	@Test
    23 	public void testConvertSmall()
    24 	{
    25 		Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.17,CZK),USD);
    26 		assertEquals(new MoneyImpl(new BigDecimal("0.01"),USD),converted);
    27 		assertEquals(USD,converted.getCurrency());
    28 	}
    29 	@Test
    30 	public void testConvertSmallReverse()
    31 	{
    32 		Money converted = CZK_TO_USD_CONVERTOR.convert(new MoneyImpl(0.01,USD),CZK);
    33 		assertEquals(new MoneyImpl(new BigDecimal("0.17"),CZK),converted);
    34 	}
    35 	@Test
    36 	public void testSupports()
    37 	{
    38 		assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(USD,CZK));
    39 		assertTrue(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,USD));
    40 		assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,CZK));
    41 		assertFalse(CZK_TO_USD_CONVERTOR.isConversionSupported(CZK,SKK));
    42 		
    43 	}
    44 }