/* * Copyright (c) 2013 Big Switch Networks, Inc. * Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University * * Licensed under the Eclipse Public License, Version 1.0 (the * "License"); you may not use this file except in compliance with the * License. You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package org.openflow.protocol; import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; import org.openflow.util.OFTestCase; public class OFFeaturesReplyTest extends OFTestCase { public void testWriteRead() throws Exception { OFFeaturesReply ofr = (OFFeaturesReply) messageFactory .getMessage(OFType.FEATURES_REPLY); List<OFPhysicalPort> ports = new ArrayList<OFPhysicalPort>(); OFPhysicalPort port = new OFPhysicalPort(); port.setHardwareAddress(new byte[6]); port.setName("eth0"); ports.add(port); ofr.setPorts(ports); ChannelBuffer bb = ChannelBuffers.dynamicBuffer(); bb.clear(); ofr.writeTo(bb); ofr.readFrom(bb); TestCase.assertEquals(1, ofr.getPorts().size()); TestCase.assertEquals("eth0", ofr.getPorts().get(0).getName()); // test a 15 character name ofr.getPorts().get(0).setName("012345678901234"); bb.clear(); ofr.writeTo(bb); ofr.readFrom(bb); TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName()); // test a 16 character name getting truncated ofr.getPorts().get(0).setName("0123456789012345"); bb.clear(); ofr.writeTo(bb); ofr.readFrom(bb); TestCase.assertEquals("012345678901234", ofr.getPorts().get(0).getName()); } }