package mf;
/*Generated by MPS */
import junit.framework.TestCase;
import junit.framework.Assert;
import junit.textui.TestRunner;
public class MoneyTester extends TestCase {
private Money myD15;
private Money myD2_51;
private Money myM2_51;
public MoneyTester(String name) {
super(name);
}
public void testDivide3() {
Money[] actual = Money.dollars(100).divide(3);
Money[] expected = {Money.dollars(33.34), Money.dollars(33.33), Money.dollars(33.33)};
for (int i = 0; i < expected.length; i++) {
Assert.assertEquals(expected[i], actual[i]);
}
}
public void testDivideAllButOne() {
Money[] expected = Money.dollars(1.09).divide(10);
for (int i = 0; i < 9; i++) {
Assert.assertEquals(expected[i], Money.dollars(0.11));
}
Assert.assertEquals(expected[9], Money.dollars(0.1));
}
@Override
public void setUp() {
myD15 = Money.dollars(15);
myD2_51 = Money.dollars(2.51);
myM2_51 = new Money(2.51, Currency.DEM);
}
public void testAamount() {
Assert.assertEquals(2.51, myD2_51.amount(), 0.0010);
}
public void testAdditionOfDifferentCurrencies() {
try {
myD15.add(myM2_51);
Assert.fail("added different currencies");
} catch (Exception ignore) {
}
}
public void testCloseNumbersNotEqual() {
Money d2_51a = Money.dollars(2.515);
Money d2_51b = Money.dollars(2.5149);
Assert.assertTrue(!(d2_51a.equals(d2_51b)));
}
public void testCompare() {
Assert.assertTrue(myD15.greaterThan(myD2_51));
Assert.assertTrue(myD2_51.lessThan(myD15));
Assert.assertTrue(!(myD15.greaterThan(myD15)));
Assert.assertTrue(!(myD15.lessThan(myD15)));
try {
Assert.assertTrue(myD15.greaterThan(myM2_51));
Assert.fail();
} catch (Exception ignore) {
}
}
public void testDifferentCurrencyNotEqual() {
Assert.assertTrue(!(myD2_51.equals(myM2_51)));
}
public void testEquals() {
Money d2_51a = Money.dollars(2.51);
Assert.assertEquals(d2_51a, myD2_51);
}
public void xtestFormatPrinting() {
Assert.assertEquals("$15.00", myD15.formatString());
Assert.assertEquals("DM 2.51", myM2_51.formatString());
}
public void testHash() {
Money d2_51a = Money.dollars(2.51);
Assert.assertEquals(d2_51a.hashCode(), myD2_51.hashCode());
}
public void xtestLocalPrinting() {
Assert.assertEquals("$15.00", myD15.localString());
Assert.assertEquals("2,51 ?", myM2_51.localString());
}
public void testNegate() {
Assert.assertEquals(Money.dollars(-15), myD15.negate());
Assert.assertEquals(myM2_51, myM2_51.negate().negate());
}
public void testPositiveNegative() {
Assert.assertTrue(myD15.isPositive());
Assert.assertTrue(Money.dollars(-10).isNegative());
Assert.assertTrue(!(Money.dollars(0).isPositive()));
Assert.assertTrue(!(Money.dollars(0).isNegative()));
}
public void testPrint() {
Assert.assertEquals("USD 15.0", myD15.toString());
}
public void testRound() {
Money dRounded = Money.dollars(1.235);
Assert.assertEquals(Money.dollars(1.24), dRounded);
}
public void testSubtraction() {
Assert.assertEquals(Money.dollars(12.49), myD15.subtract(myD2_51));
}
public static void main(String[] ignore) {
String[] args = {"mf.MoneyTester"};
TestRunner.main(args);
}
}