task4/solution02/test/org/apidesign/apifest08/test/ConvertorFactoryTest.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/ConvertorFactoryTest.java@251d0ed461fb
permissions -rw-r--r--
Copying structure for task4
japod@6
     1
package org.apidesign.apifest08.test;
japod@6
     2
japod@6
     3
import static junit.framework.Assert.assertNotNull;
japod@6
     4
import static org.apidesign.apifest08.test.Task1Test.CZK;
japod@6
     5
import static org.apidesign.apifest08.test.Task1Test.USD;
japod@16
     6
import static org.junit.Assert.assertEquals;
japod@16
     7
import static org.junit.Assert.assertTrue;
japod@16
     8
import static org.junit.Assert.fail;
japod@6
     9
japod@16
    10
import org.apidesign.apifest08.currency.Convertor;
japod@6
    11
import org.apidesign.apifest08.currency.ConvertorFactory;
japod@16
    12
import org.apidesign.apifest08.currency.MoneyImpl;
japod@6
    13
import org.junit.Test;
japod@6
    14
japod@6
    15
japod@6
    16
public class ConvertorFactoryTest {
japod@6
    17
	@Test(expected=NullPointerException.class)
japod@6
    18
	public void testNullSource()
japod@6
    19
	{
japod@16
    20
		ConvertorFactory.createConvertor(null, new MoneyImpl(1,USD));
japod@6
    21
	}
japod@6
    22
	@Test(expected=NullPointerException.class)
japod@6
    23
	public void testNullDestination()
japod@6
    24
	{
japod@16
    25
		ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), null);
japod@6
    26
	}
japod@6
    27
	@Test
japod@6
    28
	public void testOk()
japod@6
    29
	{
japod@16
    30
		assertNotNull(ConvertorFactory.createConvertor(new MoneyImpl(17,CZK),  new MoneyImpl(1,USD)));
japod@6
    31
	}
japod@6
    32
	@Test
japod@16
    33
	public void testOkDecimalRate()
japod@6
    34
	{
japod@16
    35
		Convertor c = ConvertorFactory.createConvertor(new MoneyImpl(1,CZK),  new MoneyImpl(1d/17d,USD));
japod@16
    36
		assertNotNull(c);
japod@16
    37
		assertEquals(new MoneyImpl(17,CZK),c.convert(new MoneyImpl(1,USD), CZK));
japod@16
    38
	}
japod@16
    39
	@Test
japod@16
    40
	public void testZeroEquivalentRate()
japod@16
    41
	{
japod@16
    42
		try
japod@16
    43
		{
japod@16
    44
			ConvertorFactory.createConvertor(new MoneyImpl(1,CZK),  new MoneyImpl(0,USD));
japod@16
    45
			fail("Exception expected");
japod@16
    46
		}
japod@16
    47
		catch(IllegalArgumentException e)
japod@16
    48
		{
japod@16
    49
			assertTrue("OK",true);
japod@16
    50
		}
japod@6
    51
	}
japod@6
    52
}