Mass replace CRLF->LF
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / ExperimenterMessageFactoryTest.java
1 /*
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;
10
11 import static org.mockito.Matchers.any;
12 import static org.mockito.Mockito.when;
13 import io.netty.buffer.ByteBuf;
14
15 import org.junit.Assert;
16 import org.junit.Before;
17 import org.junit.Test;
18 import org.mockito.Mock;
19 import org.mockito.MockitoAnnotations;
20 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
21 import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
22 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterIdDeserializerKey;
23 import org.opendaylight.openflowjava.util.ByteBufUtils;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;
25
26 /**
27  * @author michal.polkorab
28  *
29  */
30 public class ExperimenterMessageFactoryTest {
31
32     @Mock DeserializerRegistry registry;
33     @Mock OFDeserializer<ExperimenterMessage> deserializer;
34     @Mock ExperimenterMessage message;
35
36     /**
37      * Initializes mocks
38      */
39     @Before
40     public void startUp() {
41         MockitoAnnotations.initMocks(this);
42     }
43
44     /**
45      * Test deserializer lookup correctness
46      */
47     @Test
48     public void test() {
49         when(registry.getDeserializer(any(ExperimenterIdDeserializerKey.class))).thenReturn(deserializer);
50         when(deserializer.deserialize(any(ByteBuf.class))).thenReturn(message);
51         
52         ByteBuf buffer = ByteBufUtils.hexStringToByteBuf("00 01 02 03 00 00 00 10");
53         ExperimenterMessageFactory factory = new ExperimenterMessageFactory();
54         factory.injectDeserializerRegistry(registry);
55         ExperimenterMessage deserializedMessage = factory.deserialize(buffer);
56         Assert.assertEquals("Wrong return value", message, deserializedMessage);
57         Assert.assertEquals("ByteBuf index moved", 0, buffer.readerIndex());
58     }
59 }