- public void toStringTest() {
- header = createHeader();
- nxmHeader = new NxmHeader(header);
-
- String shouldBe = new String("NxmHeader " +
- "[headerAsLong=" + header + ", " +
- "oxmClass=" + OxmMatchConstants.NXM_1_CLASS + "," +
- " nxmField=" + NXM_FIELD_CODE + "," +
- " hasMask=" + false + "," +
- " length=" + VALUE_LENGTH + "]");
-
- assertEquals(shouldBe, nxmHeader.toString());
+ public void nxmHeaderExpTest() {
+ NxmHeader nxmHeaderFromBigInt = new NxmHeader(EXP_HEADER);
+
+ assertEquals(0xFFFF, nxmHeaderFromBigInt.getOxmClass());
+ assertEquals(0xF4 >>> 1, nxmHeaderFromBigInt.getNxmField());
+ assertFalse(nxmHeaderFromBigInt.isHasMask());
+ assertEquals(0xF3, nxmHeaderFromBigInt.getLength());
+ assertEquals(0xFFFFF4F300F2AB31L, nxmHeaderFromBigInt.toLong());
+ assertTrue(nxmHeaderFromBigInt.isExperimenter());
+ assertEquals(0x00F2AB31L, nxmHeaderFromBigInt.getExperimenterId());
+
+ NxmHeader nxmHeaderFromFields = new NxmHeader(
+ nxmHeaderFromBigInt.getNxmField(),
+ nxmHeaderFromBigInt.isHasMask(),
+ nxmHeaderFromBigInt.getLength(),
+ nxmHeaderFromBigInt.getExperimenterId());
+
+ assertEquals(EXP_HEADER, nxmHeaderFromFields.toUint64());
+ assertEquals(0xFFFFF4F300F2AB31L, nxmHeaderFromFields.toLong());
+ assertTrue(nxmHeaderFromFields.isExperimenter());
+ assertEquals(0x00F2AB31L, nxmHeaderFromFields.getExperimenterId());
+
+ NxmHeader nxmHeaderFromLong = new NxmHeader(EXP_HEADER.longValue());
+
+ assertEquals(EXP_HEADER, nxmHeaderFromLong.toUint64());
+ assertEquals(0xFFFFF4F300F2AB31L, nxmHeaderFromLong.toLong());
+ assertTrue(nxmHeaderFromLong.isExperimenter());
+ assertEquals(0x00F2AB31L, nxmHeaderFromLong.getExperimenterId());
+
+ assertEquals(nxmHeaderFromBigInt, nxmHeaderFromFields);
+ assertEquals(nxmHeaderFromBigInt, nxmHeaderFromLong);
+ assertEquals(nxmHeaderFromLong, nxmHeaderFromFields);
+ assertEquals(nxmHeaderFromBigInt.hashCode(), nxmHeaderFromFields.hashCode());
+ assertEquals(nxmHeaderFromBigInt.hashCode(), nxmHeaderFromLong.hashCode());