| /* |
| * Copyright 2016-present Open Networking Laboratory |
| * |
| * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 |
| * |
| * 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.onosproject.bgpio.protocol.flowspec; |
| |
| import java.util.ArrayList; |
| import java.util.LinkedList; |
| import java.util.List; |
| |
| import org.junit.Test; |
| import org.onosproject.bgpio.types.BgpFsActionTrafficRate; |
| import org.onosproject.bgpio.types.BgpFsOperatorValue; |
| import org.onosproject.bgpio.types.BgpFsPortNum; |
| import org.onosproject.bgpio.types.BgpValueType; |
| |
| import com.google.common.testing.EqualsTester; |
| |
| /** |
| * Test for BgpFlowSpecNlri flow specification. |
| */ |
| public class BgpFlowSpecNlriTest { |
| |
| List<BgpValueType> flowSpecComponents1 = new LinkedList<>(); |
| private List<BgpFsOperatorValue> operatorValue1 = new ArrayList<>(); |
| BgpFlowSpecNlri flowSpecDetails1 = new BgpFlowSpecNlri(flowSpecComponents1); |
| BgpFsPortNum portNum1 = new BgpFsPortNum(operatorValue1); |
| |
| List<BgpValueType> flowSpecComponents = new LinkedList<>(); |
| private List<BgpFsOperatorValue> operatorValue = new ArrayList<>(); |
| BgpFlowSpecNlri flowSpecDetails = new BgpFlowSpecNlri(flowSpecComponents); |
| BgpFsPortNum portNum = new BgpFsPortNum(operatorValue); |
| |
| List<BgpValueType> flowSpecComponents2 = new LinkedList<>(); |
| private List<BgpFsOperatorValue> operatorValue2 = new ArrayList<>(); |
| BgpFlowSpecNlri flowSpecDetails2 = new BgpFlowSpecNlri(flowSpecComponents2); |
| BgpFsPortNum portNum2 = new BgpFsPortNum(operatorValue2); |
| |
| @Test |
| public void testEquality() { |
| flowSpecComponents1.add(portNum1); |
| byte[] port1 = new byte[] {(byte) 0x1 }; |
| operatorValue1.add(new BgpFsOperatorValue((byte) 0x81, port1)); |
| byte[] port11 = new byte[] {(byte) 0x1 }; |
| operatorValue1.add(new BgpFsOperatorValue((byte) 0x82, port11)); |
| |
| List<BgpValueType> fsTlvs1 = new LinkedList<>(); |
| fsTlvs1.add(new BgpFsActionTrafficRate((short) 1, 1)); |
| flowSpecDetails1.setFsActionTlv(fsTlvs1); |
| |
| flowSpecComponents.add(portNum); |
| byte[] port = new byte[] {(byte) 0x1 }; |
| operatorValue.add(new BgpFsOperatorValue((byte) 0x81, port)); |
| byte[] port4 = new byte[] {(byte) 0x1 }; |
| operatorValue.add(new BgpFsOperatorValue((byte) 0x82, port4)); |
| |
| List<BgpValueType> fsTlvs = new LinkedList<>(); |
| fsTlvs.add(new BgpFsActionTrafficRate((short) 1, 1)); |
| |
| flowSpecComponents2.add(portNum2); |
| byte[] port2 = new byte[] {(byte) 0x1 }; |
| operatorValue2.add(new BgpFsOperatorValue((byte) 0x82, port2)); |
| byte[] port22 = new byte[] {(byte) 0x1 }; |
| operatorValue2.add(new BgpFsOperatorValue((byte) 0x82, port22)); |
| |
| List<BgpValueType> fsTlvs2 = new LinkedList<>(); |
| fsTlvs2.add(new BgpFsActionTrafficRate((short) 1, 1)); |
| flowSpecDetails2.setFsActionTlv(fsTlvs2); |
| |
| new EqualsTester() |
| .addEqualityGroup(flowSpecDetails1, flowSpecDetails) |
| .addEqualityGroup(flowSpecDetails2) |
| .testEquals(); |
| } |
| } |