@Test
public void testPair() {
NfIntStringPair pair1 = new NfIntStringPair();
pair1.setFirst(new IntValue(10));
pair1.setSecond(new StringValue("This is a string"));
// test data retrieval
Assert.assertEquals(pair1.getFirst(), new IntValue(10));
Assert.assertEquals(pair1.getSecond(), new StringValue("This is a string"));
// test serialization
try {
NfIntStringPair mPairActual = new NfIntStringPair();
pair1.write(new OutputViewDataOutputStreamWrapper(out));
mPairActual.read(new InputViewDataInputStreamWrapper(in));
Assert.assertEquals(pair1, mPairActual);
} catch (IOException e) {
Assert.fail("Unexpected IOException");
}
// test comparison
NfIntStringPair pair2 = new NfIntStringPair();
NfIntStringPair pair3 = new NfIntStringPair();
NfIntStringPair pair4 = new NfIntStringPair();
NfIntStringPair pair5 = new NfIntStringPair();
NfIntStringPair pair6 = new NfIntStringPair();
pair2.setFirst(new IntValue(10));
pair2.setSecond(new StringValue("This is a string"));
pair3.setFirst(new IntValue(5));
pair3.setSecond(new StringValue("This is a string"));
pair4.setFirst(new IntValue(15));
pair4.setSecond(new StringValue("This is a string"));
pair5.setFirst(new IntValue(10));
pair5.setSecond(new StringValue("This is a strina"));
pair6.setFirst(new IntValue(10));
pair6.setSecond(new StringValue("This is a strinz"));
Assert.assertTrue(pair1.compareTo(pair2) == 0);
Assert.assertTrue(pair1.compareTo(pair3) > 0);
Assert.assertTrue(pair1.compareTo(pair4) < 0);
Assert.assertTrue(pair1.compareTo(pair5) > 0);