taskx/ked/against-solution04/test/apifest/CurrencyTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 25 Oct 2008 20:30:54 +0200
changeset 83 621462e58e22
permissions -rw-r--r--
Jan Zak managed to break solutions 4, 6, 13, 14
jtulach@83
     1
package apifest;
jtulach@83
     2
jtulach@83
     3
import java.math.BigDecimal;
jtulach@83
     4
import java.util.Currency;
jtulach@83
     5
import junit.framework.TestCase;
jtulach@83
     6
import org.apidesign.apifest08.currency.Convertor;
jtulach@83
     7
import org.apidesign.apifest08.currency.InvalidConversionException;
jtulach@83
     8
jtulach@83
     9
jtulach@83
    10
/** Write a test that works with version from task A and fails with version B.
jtulach@83
    11
 */
jtulach@83
    12
public class CurrencyTest extends TestCase {
jtulach@83
    13
    public CurrencyTest(String n) {
jtulach@83
    14
        super(n);
jtulach@83
    15
    }
jtulach@83
    16
    
jtulach@83
    17
    public void testCompatibility() throws Exception {
jtulach@83
    18
        Convertor myOwnImplementationOfConvertor =
jtulach@83
    19
                new MyOwnImplementationOfConvertor();
jtulach@83
    20
        
jtulach@83
    21
        BigDecimal result = myOwnImplementationOfConvertor.convert(
jtulach@83
    22
                Currency.getInstance("CZK"),
jtulach@83
    23
                Currency.getInstance("USD"),
jtulach@83
    24
                new BigDecimal("1"));
jtulach@83
    25
        assertEquals(1, result.intValue());
jtulach@83
    26
    }
jtulach@83
    27
    
jtulach@83
    28
    class MyOwnImplementationOfConvertor implements Convertor {
jtulach@83
    29
        public BigDecimal convert(Currency from, Currency to, BigDecimal amount) throws InvalidConversionException {
jtulach@83
    30
            return amount; // not very smart implementation
jtulach@83
    31
        }
jtulach@83
    32
    }
jtulach@83
    33
}