2 * Copyright (c) 2019 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowjava.eric.codec.match;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertTrue;
14 import org.junit.Test;
15 import org.opendaylight.openflowjava.eric.api.EricConstants;
17 public class EricHeaderTest {
19 private static final int ERIC_FIELD_CODE = 4;
20 private static final int VALUE_LENGTH = 14;
21 private static long header;
23 private EricHeader ericHeader;
26 public void ericHeaderTest() {
27 header = createHeader();
28 ericHeader = new EricHeader(header);
29 assertEquals(EricConstants.ERICOXM_OF_EXPERIMENTER_ID, ericHeader.getOxmClass());
30 assertEquals(ERIC_FIELD_CODE, ericHeader.getEricField());
31 assertEquals(false, ericHeader.isHasMask());
32 assertEquals(VALUE_LENGTH, ericHeader.getLength());
36 public void equalsTest() {
37 Object notHeader = new Object();
38 header = createHeader();
39 ericHeader = new EricHeader(header);
40 assertFalse(ericHeader.equals(notHeader));
44 public void equalsTest1() {
45 header = createHeader();
46 ericHeader = new EricHeader(header);
48 assertTrue(ericHeader.equals(ericHeader));
52 public void toStringTest() {
53 header = createHeader();
54 ericHeader = new EricHeader(header);
56 String shouldBe = new String("EricHeader " + "[headerAsLong=" + header + ", " + "oxmClass="
57 + EricConstants.ERICOXM_OF_EXPERIMENTER_ID + "," + " ericField=" + ERIC_FIELD_CODE + "," + " hasMask="
58 + false + "," + " length=" + VALUE_LENGTH + "]");
59 assertEquals(shouldBe, ericHeader.toString());
62 private static long createHeader() {
64 int oxmClass = 4096 << 16;
65 result = result | oxmClass;
66 int oxmField = ERIC_FIELD_CODE << 9;
67 result = result | oxmField;
69 result = result | mask;
70 int length = VALUE_LENGTH;
71 result = result | length;