2 * Copyright (c) 2014 Ericsson India Global Services Pvt Ltd. 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.openflowplugin.openflow.md.core.sal.convertor;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertTrue;
14 import java.util.ArrayList;
15 import java.util.List;
16 import java.util.Optional;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionConvertorData;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInput;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInputBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DropBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemark;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemarkBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Experimenter;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.ExperimenterBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeaders;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ExperimenterIdMeterBand;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
45 public class MeterConvertorTest {
46 private ConvertorManager convertorManager;
50 convertorManager = ConvertorManagerFactory.createDefaultManager();
54 public void testMeterModCommandConvertorwithAllParameters() {
59 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
61 MeterBandType bandFlag = new MeterBandType(true, false, false);
62 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
63 DropBuilder drop = new DropBuilder();
64 drop.setDropBurstSize(burstSize);
65 drop.setDropRate(dropRate);
66 Drop drp = drop.build();
67 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
68 meterBandHeaderBuilder.setBandType(drp);
69 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
71 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
74 final long dscpRemarkBurstSize = 11L;
75 final long dscpRemarkRate = 21L;
76 final short dscpPercLevel = 1;
78 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
79 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
81 meterBandTypesB1.setFlags(bandFlag1);
82 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
83 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
84 dscp.setDscpRemarkRate(dscpRemarkRate);
85 dscp.setPrecLevel(dscpPercLevel);
86 DscpRemark dscpRemark = dscp.build();
88 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
89 meterBandHeaderBuilder1.setBandType(dscpRemark);
90 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
92 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
95 final long expBurstSize = 12L;
96 final long expRate = 22L;
97 final long expExperimenter = 23L;
99 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
100 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
101 meterBandTypesB2.setFlags(bandFlag2);
103 ExperimenterBuilder exp = new ExperimenterBuilder();
104 exp.setExperimenterBurstSize(expBurstSize);
105 exp.setExperimenterRate(expRate);
106 exp.setExperimenter(expExperimenter);
107 Experimenter experimenter = exp.build();
109 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
110 meterBandHeaderBuilder2.setBandType(experimenter);
111 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
112 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
114 List<MeterBandHeader> meterBandList = new ArrayList<>();
115 meterBandList.add(0, meterBH);
116 meterBandList.add(1, meterBH1);
117 meterBandList.add(2, meterBH2);
119 // Constructing List of Bands
120 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
121 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
123 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
125 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
127 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
129 // NodeKey key = new NodeKey(new NodeId("24"));
130 // InstanceIdentifier<Node> path =
131 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
135 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
136 MeterFlags flagV = new MeterFlags(true, true, true, true);
137 addMeterFromSAL.setFlags(flagV);
139 AddMeterInput meterInputCommand = addMeterFromSAL.build();
140 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
142 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
143 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
144 assertEquals(Long.valueOf(10L), outMeterModInput.getMeterId().getValue());
145 // BandInformation starts here:
147 List<Bands> bands = outMeterModInput.getBands();
148 for (Bands currentBand : bands) {
149 MeterBand meterBand = currentBand.getMeterBand();
150 if (meterBand instanceof MeterBandDropCase) {
151 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
152 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
153 assertEquals(burstSize, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
154 assertEquals(dropRate, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
157 if (meterBand instanceof MeterBandDscpRemarkCase) {
158 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
159 .MeterBandType.OFPMBTDSCPREMARK,
160 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
161 assertEquals(dscpRemarkBurstSize,
162 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
163 assertEquals(dscpRemarkRate,
164 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
165 assertEquals(dscpPercLevel,
166 (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
169 if (meterBand instanceof MeterBandExperimenterCase) {
170 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
171 .MeterBandType.OFPMBTEXPERIMENTER,
172 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
173 assertEquals(expBurstSize,
174 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
175 assertEquals(expRate,
176 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
177 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
178 .getAugmentation(ExperimenterIdMeterBand.class);
179 assertEquals(expExperimenter, (long) expBand.getExperimenter().getValue());
185 public void testMeterModCommandConvertorwithNoFlags() {
186 long burstSize = 10L;
189 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
191 MeterBandType bandFlag = new MeterBandType(true, false, false);
192 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
193 DropBuilder drop = new DropBuilder();
194 drop.setDropBurstSize(burstSize);
195 drop.setDropRate(dropRate);
196 Drop drp = drop.build();
198 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
199 meterBandHeaderBuilder.setBandType(drp);
200 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
202 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
205 final long dscpRemarkBurstSize = 11L;
206 final long dscpRemarkRate = 21L;
207 final short dscpPercLevel = 1;
209 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
210 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
212 meterBandTypesB1.setFlags(bandFlag1);
213 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
215 dscp.setDscpRemarkBurstSize(dscpRemarkBurstSize);
216 dscp.setDscpRemarkRate(dscpRemarkRate);
217 dscp.setPrecLevel(dscpPercLevel);
218 DscpRemark dscpRemark = dscp.build();
220 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
221 meterBandHeaderBuilder1.setBandType(dscpRemark);
222 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
224 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
227 final long expBurstSize = 12L;
228 final long expRate = 22L;
229 final long expExperimenter = 23L;
231 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
232 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
233 meterBandTypesB2.setFlags(bandFlag2);
235 ExperimenterBuilder exp = new ExperimenterBuilder();
237 exp.setExperimenterBurstSize(expBurstSize);
238 exp.setExperimenterRate(expRate);
239 exp.setExperimenter(expExperimenter);
240 Experimenter experimenter = exp.build();
242 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
243 meterBandHeaderBuilder2.setBandType(experimenter);
244 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
245 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
247 List<MeterBandHeader> meterBandList = new ArrayList<>();
248 meterBandList.add(0, meterBH);
249 meterBandList.add(1, meterBH1);
250 meterBandList.add(2, meterBH2);
252 // Constructing List of Bands
253 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
254 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
256 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
258 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
260 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
262 // NodeKey key = new NodeKey(new NodeId("24"));
263 // InstanceIdentifier<Node> path =
264 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
268 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
271 AddMeterInput meterInputCommand = addMeterFromSAL.build();
272 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
274 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
275 assertFalse(outMeterModInput.getFlags().isOFPMFBURST());
276 assertTrue(outMeterModInput.getFlags().isOFPMFPKTPS());
277 assertEquals(Long.valueOf(10L), outMeterModInput.getMeterId().getValue());
278 // BandInformation starts here:
280 List<Bands> bands = outMeterModInput.getBands();
281 for (Bands currentBand : bands) {
282 MeterBand meterBand = currentBand.getMeterBand();
283 if (meterBand instanceof MeterBandDropCase) {
284 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
285 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
286 assertEquals(burstSize, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
287 assertEquals(dropRate, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
290 if (meterBand instanceof MeterBandDscpRemarkCase) {
291 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
292 .MeterBandType.OFPMBTDSCPREMARK,
293 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
294 assertEquals(dscpRemarkBurstSize,
295 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
296 assertEquals(dscpRemarkRate,
297 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
298 assertEquals(dscpPercLevel,
299 (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
302 if (meterBand instanceof MeterBandExperimenterCase) {
303 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
304 .MeterBandType.OFPMBTEXPERIMENTER,
305 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
306 assertEquals(expBurstSize,
307 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
308 assertEquals(expRate,
309 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
310 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
311 .getAugmentation(ExperimenterIdMeterBand.class);
312 assertEquals(expExperimenter, (long) expBand.getExperimenter().getValue());
318 public void testMeterModCommandConvertorBandDataisNULL() {
319 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
321 // NodeKey key = new NodeKey(new NodeId("24"));
322 // InstanceIdentifier<Node> path =
323 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
327 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
328 MeterFlags flagV = new MeterFlags(true, true, true, true);
329 addMeterFromSAL.setFlags(flagV);
331 AddMeterInput meterInputCommand = addMeterFromSAL.build();
332 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
334 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
335 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
336 assertEquals(Long.valueOf(10L), outMeterModInput.getMeterId().getValue());
340 public void testMeterModCommandConvertorNoValidBandData() {
343 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
344 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
346 MeterBandType bandFlag = new MeterBandType(true, false, false);
347 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
349 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
351 final MeterBandHeader meterBH = meterBandHeaderBuilder.build();
354 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
355 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
357 meterBandTypesB1.setFlags(bandFlag1);
358 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
359 dscp.setDscpRemarkBurstSize(11L);
360 dscp.setDscpRemarkRate(21L);
361 dscp.setPrecLevel((short) 1);
362 DscpRemark dscpRemark = dscp.build();
364 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
365 meterBandHeaderBuilder1.setBandType(dscpRemark);
366 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
368 final MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
372 ExperimenterBuilder exp = new ExperimenterBuilder();
373 exp.setExperimenterBurstSize(12L);
374 exp.setExperimenterRate(22L);
375 exp.setExperimenter(23L);
376 Experimenter experimenter = exp.build();
378 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
379 meterBandHeaderBuilder2.setBandType(experimenter);
381 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
382 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
383 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
385 List<MeterBandHeader> meterBandList = new ArrayList<>();
386 meterBandList.add(0, meterBH);
387 meterBandList.add(1, meterBH1);
388 meterBandList.add(2, meterBH2);
390 // Constructing List of Bands
391 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
392 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
394 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
396 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
398 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
400 // NodeKey key = new NodeKey(new NodeId("24"));
401 // InstanceIdentifier<Node> path =
402 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
406 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
407 MeterFlags flagV = new MeterFlags(true, true, true, true);
408 addMeterFromSAL.setFlags(flagV);
410 AddMeterInput meterInputCommand = addMeterFromSAL.build();
411 MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
413 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
414 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
415 assertEquals(Long.valueOf(10L), outMeterModInput.getMeterId().getValue());
416 // BandInformation starts here:
418 List<Bands> bands = outMeterModInput.getBands();
419 for (Bands currentBand : bands) {
420 MeterBand meterBand = currentBand.getMeterBand();
421 if (meterBand instanceof MeterBandDropCase) {
423 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
424 .MeterBandType.OFPMBTDROP, ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
425 assertEquals((long) 20, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
426 assertEquals((long) 10, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
429 if (meterBand instanceof MeterBandDscpRemarkCase) {
430 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
431 .MeterBandType.OFPMBTDSCPREMARK,
432 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
433 assertEquals((long) 11,
434 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
435 assertEquals((long) 21,
436 (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
437 assertEquals((short) 1,
438 (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
441 if (meterBand instanceof MeterBandExperimenterCase) {
442 assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731
443 .MeterBandType.OFPMBTEXPERIMENTER,
444 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
445 assertEquals((long) 12,
446 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
447 assertEquals((long) 22,
448 (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
449 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
450 .getAugmentation(ExperimenterIdMeterBand.class);
451 assertEquals((long) 23, (long) expBand.getExperimenter().getValue());
456 private MeterModInputBuilder convert(Meter source, VersionConvertorData data) {
457 Optional<MeterModInputBuilder> outMeterModInputOptional = convertorManager.convert(source, data);
458 return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion()));