/**
* Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.openflowjava.nx.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.ActionChoice;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopVlanCase;
public class NiciraActionSerializerKeyTest {
NiciraActionSerializerKey niciraActionSerializerKey;
private static final short VERSION = 4;
@Test
public void niciraActionSerializerKeyTest() {
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertEquals(VERSION, niciraActionSerializerKey.getVersion());
assertEquals(SubtypeClass.class, niciraActionSerializerKey.getSubtype());
}
/**
* If input param obj is NULL then FALSE should be returned
*/
@Test
public void equalsTest1() {
Object obj = null;
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertFalse(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is NOT NULL but is instance of different class then FALSE should be returned
*/
@Test
public void equalsTest2() {
Object obj = new Object();
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertFalse(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is instance of the same class but this.subtype is NULL then FALSE should be returned
*/
@Test
public void equalsTest3() {
NiciraActionSerializerKey obj = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, null);
assertFalse(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is instance of the same class but has different SUBTYPE then FALSE should be returned
*/
@Test
public void equalsTest4() {
NiciraActionSerializerKey obj = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, PopVlanCase.class);
assertFalse(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is instance of the same class but has different VERSION then FALSE should be returned
*/
@Test
public void equalsTest5() {
NiciraActionSerializerKey obj = new NiciraActionSerializerKey((short)5, SubtypeClass.class);
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertFalse(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is instance of the same class and has same VERSION and SUBTYPE then TRUE should be returned
*/
@Test
public void equalsTest6() {
NiciraActionSerializerKey obj = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertTrue(niciraActionSerializerKey.equals(obj));
}
/**
* If input param obj is exactly same TRUE should be returned
*/
@Test
public void equalsTest7() {
niciraActionSerializerKey = new NiciraActionSerializerKey(VERSION, SubtypeClass.class);
assertTrue(niciraActionSerializerKey.equals(niciraActionSerializerKey));
}
private interface SubtypeClass extends ActionChoice {}
}