test #40
This commit is contained in:
@@ -20,7 +20,7 @@ public class TestIsoMessage {
|
||||
|
||||
@Before
|
||||
public void init() throws IOException {
|
||||
mf = new MessageFactory<IsoMessage>();
|
||||
mf = new MessageFactory<>();
|
||||
mf.setCharacterEncoding("UTF-8");
|
||||
mf.setCustomField(48, new CustomField48());
|
||||
mf.setConfigPath("config.xml");
|
||||
@@ -30,31 +30,35 @@ public class TestIsoMessage {
|
||||
@Test
|
||||
public void testCreation() {
|
||||
IsoMessage iso = mf.newMessage(0x200);
|
||||
assert iso.getType() == 0x200;
|
||||
assert iso.getField(3).getType() == IsoType.NUMERIC && "650000".equals(iso.getObjectValue(3));
|
||||
assert iso.getField(32).getType() == IsoType.LLVAR;
|
||||
assert iso.getField(35).getType() == IsoType.LLVAR;
|
||||
assert iso.getField(43).getType() == IsoType.ALPHA && ((String)iso.getObjectValue(43)).length() == 40;
|
||||
assert iso.getField(48).getType() == IsoType.LLLVAR && iso.getObjectValue(48) instanceof CustomField48;
|
||||
assert iso.getField(49).getType() == IsoType.ALPHA;
|
||||
assert iso.getField(60).getType() == IsoType.LLLVAR;
|
||||
assert iso.getField(61).getType() == IsoType.LLLVAR;
|
||||
assert iso.getField(100).getType() == IsoType.LLVAR;
|
||||
assert iso.getField(102).getType() == IsoType.LLVAR;
|
||||
Assert.assertEquals(0x200, iso.getType());
|
||||
Assert.assertTrue(iso.hasEveryField(3, 32, 35, 43, 48, 49, 60, 61, 100, 102));
|
||||
Assert.assertEquals(IsoType.NUMERIC, iso.getField(3).getType());
|
||||
Assert.assertEquals("650000", iso.getObjectValue(3));
|
||||
Assert.assertEquals(IsoType.LLVAR, iso.getField(32).getType());
|
||||
Assert.assertEquals(IsoType.LLVAR, iso.getField(35).getType());
|
||||
Assert.assertEquals(IsoType.ALPHA, iso.getField(43).getType());
|
||||
Assert.assertEquals(40, ((String) iso.getObjectValue(43)).length());
|
||||
Assert.assertEquals(IsoType.LLLVAR, iso.getField(48).getType());
|
||||
Assert.assertTrue(iso.getObjectValue(48) instanceof CustomField48);
|
||||
Assert.assertEquals(IsoType.ALPHA, iso.getField(49).getType());
|
||||
Assert.assertEquals(IsoType.LLLVAR, iso.getField(60).getType());
|
||||
Assert.assertEquals(IsoType.LLLVAR, iso.getField(61).getType());
|
||||
Assert.assertEquals(IsoType.LLVAR, iso.getField(100).getType());
|
||||
Assert.assertEquals(IsoType.LLVAR, iso.getField(102).getType());
|
||||
for (int i = 4; i < 32; i++) {
|
||||
assert !iso.hasField(i);
|
||||
Assert.assertFalse("ISO should not contain " + i, iso.hasField(i));
|
||||
}
|
||||
for (int i = 36; i < 43; i++) {
|
||||
assert !iso.hasField(i);
|
||||
Assert.assertFalse("ISO should not contain " + i, iso.hasField(i));
|
||||
}
|
||||
for (int i = 50; i < 60; i++) {
|
||||
assert !iso.hasField(i);
|
||||
Assert.assertFalse("ISO should not contain " + i, iso.hasField(i));
|
||||
}
|
||||
for (int i = 62; i < 100; i++) {
|
||||
assert !iso.hasField(i);
|
||||
Assert.assertFalse("ISO should not contain " + i, iso.hasField(i));
|
||||
}
|
||||
for (int i = 103; i < 128; i++) {
|
||||
assert !iso.hasField(i);
|
||||
Assert.assertFalse("ISO should not contain " + i, iso.hasField(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,14 +67,15 @@ public class TestIsoMessage {
|
||||
IsoMessage m1 = mf.newMessage(0x200);
|
||||
byte[] buf = m1.writeData();
|
||||
IsoMessage m2 = mf.parseMessage(buf, mf.getIsoHeader(0x200).length());
|
||||
assert m2.getType() == m1.getType();
|
||||
Assert.assertEquals(m2.getType(), m1.getType());
|
||||
for (int i = 2; i < 128; i++) {
|
||||
//Either both have the field or neither have it
|
||||
if (m1.hasField(i) && m2.hasField(i)) {
|
||||
Assert.assertEquals(m1.getField(i).getType(), m2.getField(i).getType());
|
||||
Assert.assertEquals(m1.getObjectValue(i), m2.getObjectValue(i));
|
||||
} else {
|
||||
assert !m1.hasField(i) && !m2.hasField(i);
|
||||
Assert.assertFalse(m1.hasField(i));
|
||||
Assert.assertFalse(m2.hasField(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -108,16 +113,16 @@ public class TestIsoMessage {
|
||||
public void testTemplating() {
|
||||
IsoMessage iso1 = mf.newMessage(0x200);
|
||||
IsoMessage iso2 = mf.newMessage(0x200);
|
||||
assert iso1 != iso2;
|
||||
assert iso1.getObjectValue(3).equals(iso2.getObjectValue(3));
|
||||
assert iso1.getField(3) != iso2.getField(3);
|
||||
assert iso1.getField(48) != iso2.getField(48);
|
||||
Assert.assertNotSame(iso1, iso2);
|
||||
Assert.assertEquals(iso1.getObjectValue(3), iso2.getObjectValue(3));
|
||||
Assert.assertNotSame(iso1.getField(3), iso2.getField(3));
|
||||
Assert.assertNotSame(iso1.getField(48), iso2.getField(48));
|
||||
CustomField48 cf48_1 = iso1.getObjectValue(48);
|
||||
int origv = cf48_1.getValue2();
|
||||
cf48_1.setValue2(origv + 1000);
|
||||
CustomField48 cf48_2 = iso2.getObjectValue(48);
|
||||
assert cf48_1 == cf48_2;
|
||||
assert cf48_2.getValue2() == origv + 1000;
|
||||
Assert.assertSame(cf48_1, cf48_2);
|
||||
Assert.assertEquals(cf48_2.getValue2(), origv + 1000);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@@ -125,12 +130,12 @@ public class TestIsoMessage {
|
||||
IsoMessage iso = mf.newMessage(0x200);
|
||||
IsoValue<String> f3 = iso.getField(3);
|
||||
iso.updateValue(3, "999999");
|
||||
assert iso.getObjectValue(3).equals("999999");
|
||||
Assert.assertEquals("999999", iso.getObjectValue(3));
|
||||
IsoValue<String> nf3 = iso.getField(3);
|
||||
assert f3 != nf3;
|
||||
assert f3.getType() == nf3.getType();
|
||||
assert f3.getLength() == nf3.getLength();
|
||||
assert f3.getEncoder() == nf3.getEncoder();
|
||||
Assert.assertNotSame(f3, nf3);
|
||||
Assert.assertEquals(f3.getType(), nf3.getType());
|
||||
Assert.assertEquals(f3.getLength(), nf3.getLength());
|
||||
Assert.assertSame(f3.getEncoder(), nf3.getEncoder());
|
||||
iso.updateValue(4, "INVALID!");
|
||||
throw new RuntimeException("Update failed!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user