2 * Copyright (c) 2014 Pantheon Technologies s.r.o. 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.protocol.impl.deserialization;
10 import org.junit.Assert;
11 import org.junit.Test;
12 import org.opendaylight.openflowjava.protocol.api.keys.MessageCodeKey;
13 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
14 import org.opendaylight.openflowjava.protocol.impl.util.MatchDeserializer;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.v10.grouping.MatchV10;
19 * Unit tests for DeserializerRegistryImpl.
23 public class DeserializerRegistryImplTest {
25 private static final short OF13 = EncodeConstants.OF13_VERSION_ID;
26 private static final short OF10 = EncodeConstants.OF10_VERSION_ID;
27 private static final int EMPTY_VALUE = EncodeConstants.EMPTY_VALUE;
30 * Test - register deserializer without arguments.
32 @Test(expected = IllegalArgumentException.class)
33 public void testRegisterDeserializerNoArgs() {
34 DeserializerRegistryImpl serReg = new DeserializerRegistryImpl();
35 serReg.registerDeserializer(null, null);
39 * Test - register deserializer with no key.
41 @Test(expected = IllegalArgumentException.class)
42 public void testRegisterDeserializerNoKey() {
43 DeserializerRegistryImpl serReg = new DeserializerRegistryImpl();
44 serReg.registerDeserializer(null, new MatchDeserializer());
48 * Test - register deserializer with no deserializer.
50 @Test(expected = IllegalArgumentException.class)
51 public void testRegisterDeserializerNoDeserializer() {
52 DeserializerRegistryImpl serReg = new DeserializerRegistryImpl();
53 serReg.registerDeserializer(new MessageCodeKey(OF13, EMPTY_VALUE, Match.class), null);
57 * Test - unregister deserializer without MessageTypeKey.
59 @Test(expected = IllegalArgumentException.class)
60 public void testUnRegisterDeserializerNoMessageTypeKey() {
61 DeserializerRegistryImpl derserReg = new DeserializerRegistryImpl();
63 derserReg.unregisterDeserializer(null);
67 * Test - unregister deserializer.
70 public void testUnRegisterDeserializer() {
71 DeserializerRegistryImpl derserReg = new DeserializerRegistryImpl();
73 Assert.assertTrue("Wrong - unregister serializer",derserReg.unregisterDeserializer(
74 new MessageCodeKey(OF13,EMPTY_VALUE, Match.class)));
75 Assert.assertFalse("Wrong - unregister serializer",derserReg.unregisterDeserializer(
76 new MessageCodeKey(OF10,EMPTY_VALUE, Match.class)));
80 * Test - get deserializer.
82 @Test(expected = IllegalStateException.class)
83 public void testGetDeserializer() {
84 DeserializerRegistryImpl registry = new DeserializerRegistryImpl();
86 registry.getDeserializer(new MessageCodeKey((short) 5000, EncodeConstants.EMPTY_VALUE, MatchV10.class));