1.1 --- a/task1/solution02/test/org/apidesign/apifest08/test/ConvertorFactoryTest.java Sun Sep 28 14:12:38 2008 +0200
1.2 +++ b/task1/solution02/test/org/apidesign/apifest08/test/ConvertorFactoryTest.java Tue Sep 30 11:47:02 2008 +0200
1.3 @@ -1,14 +1,15 @@
1.4 package org.apidesign.apifest08.test;
1.5
1.6 -import static junit.framework.Assert.assertEquals;
1.7 import static junit.framework.Assert.assertNotNull;
1.8 import static org.apidesign.apifest08.test.Task1Test.CZK;
1.9 import static org.apidesign.apifest08.test.Task1Test.USD;
1.10 +import static org.junit.Assert.assertEquals;
1.11 +import static org.junit.Assert.assertTrue;
1.12 +import static org.junit.Assert.fail;
1.13
1.14 -import java.util.Currency;
1.15 -
1.16 +import org.apidesign.apifest08.currency.Convertor;
1.17 import org.apidesign.apifest08.currency.ConvertorFactory;
1.18 -import org.apidesign.apifest08.currency.UnsupportedConversionException;
1.19 +import org.apidesign.apifest08.currency.MoneyImpl;
1.20 import org.junit.Test;
1.21
1.22
1.23 @@ -16,31 +17,36 @@
1.24 @Test(expected=NullPointerException.class)
1.25 public void testNullSource()
1.26 {
1.27 - ConvertorFactory.createConvertor(null, USD);
1.28 + ConvertorFactory.createConvertor(null, new MoneyImpl(1,USD));
1.29 }
1.30 @Test(expected=NullPointerException.class)
1.31 public void testNullDestination()
1.32 {
1.33 - ConvertorFactory.createConvertor(CZK, null);
1.34 - }
1.35 - @Test(expected=IllegalArgumentException.class)
1.36 - public void testShortSource()
1.37 - {
1.38 - ConvertorFactory.createConvertor(Currency.getInstance("CZ"), USD);
1.39 - }
1.40 - @Test(expected=UnsupportedConversionException.class)
1.41 - public void testUnknownCombination()
1.42 - {
1.43 - ConvertorFactory.createConvertor(CZK, Currency.getInstance("ZAR"));
1.44 + ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), null);
1.45 }
1.46 @Test
1.47 public void testOk()
1.48 {
1.49 - assertNotNull(ConvertorFactory.createConvertor(CZK, USD));
1.50 + assertNotNull(ConvertorFactory.createConvertor(new MoneyImpl(17,CZK), new MoneyImpl(1,USD)));
1.51 }
1.52 @Test
1.53 - public void testReverted()
1.54 + public void testOkDecimalRate()
1.55 {
1.56 - assertEquals(ConvertorFactory.createConvertor(CZK, USD).revert(), ConvertorFactory.createConvertor(USD, CZK));
1.57 + Convertor c = ConvertorFactory.createConvertor(new MoneyImpl(1,CZK), new MoneyImpl(1d/17d,USD));
1.58 + assertNotNull(c);
1.59 + assertEquals(new MoneyImpl(17,CZK),c.convert(new MoneyImpl(1,USD), CZK));
1.60 + }
1.61 + @Test
1.62 + public void testZeroEquivalentRate()
1.63 + {
1.64 + try
1.65 + {
1.66 + ConvertorFactory.createConvertor(new MoneyImpl(1,CZK), new MoneyImpl(0,USD));
1.67 + fail("Exception expected");
1.68 + }
1.69 + catch(IllegalArgumentException e)
1.70 + {
1.71 + assertTrue("OK",true);
1.72 + }
1.73 }
1.74 }