jtulach@83: package apifest; jtulach@83: jtulach@83: import junit.framework.TestCase; jtulach@83: import org.apidesign.apifest08.currency.Convertor; jtulach@83: import org.apidesign.apifest08.currency.ConvertorFactory; jtulach@83: import org.apidesign.apifest08.currency.CurrencyRate; jtulach@83: import org.apidesign.apifest08.currency.Rate; jtulach@83: jtulach@83: jtulach@83: /** Write a test that works with version from task A and fails with version B. jtulach@83: */ jtulach@83: public class CurrencyTest extends TestCase { jtulach@83: public CurrencyTest(String n) { jtulach@83: super(n); jtulach@83: } jtulach@83: jtulach@83: public void testCompatibility() throws Exception { jtulach@83: jtulach@83: Convertor c = ConvertorFactory.newInstance().createConvertor( jtulach@83: new MyOwnCurrencyRate("CZK", "USD", new Rate(1, 16), "ABCDEF")); jtulach@83: jtulach@83: MyOwnCurrencyRate[] arr = c.getCurrencyRates().toArray(new MyOwnCurrencyRate[1]); jtulach@83: assertEquals("ABCDEF", arr[0].getMyImportantProperty()); jtulach@83: } jtulach@83: jtulach@83: class MyOwnCurrencyRate implements CurrencyRate { jtulach@83: jtulach@83: private final String currency1; jtulach@83: private final String currency2; jtulach@83: private final Rate rate; jtulach@83: private final String myImportantProperty; jtulach@83: jtulach@83: public MyOwnCurrencyRate(String currency1, String currency2, Rate rate, String myImportantProperty) { jtulach@83: this.currency1 = currency1; jtulach@83: this.currency2 = currency2; jtulach@83: this.rate = rate; jtulach@83: this.myImportantProperty = myImportantProperty; jtulach@83: } jtulach@83: jtulach@83: public String getCurrency1() { jtulach@83: return currency1; jtulach@83: } jtulach@83: jtulach@83: public String getCurrency2() { jtulach@83: return currency2; jtulach@83: } jtulach@83: jtulach@83: public Rate getRate() { jtulach@83: return rate; jtulach@83: } jtulach@83: jtulach@83: public String getMyImportantProperty() { jtulach@83: return myImportantProperty; jtulach@83: } jtulach@83: } jtulach@83: }