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 * Contributor: usha.m.s@ericsson.com
10 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
12 import static org.junit.Assert.assertEquals;
13 import static org.junit.Assert.assertFalse;
14 import static org.junit.Assert.assertTrue;
16 import java.util.ArrayList;
17 import java.util.List;
19 import org.junit.Test;
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.MeterBandType;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DropBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemark;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemarkBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Experimenter;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.ExperimenterBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeaders;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterIdMeterBand;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
44 public class MeterConvertorTest {
49 public void testMeterModCommandConvertorwithAllParameters() {
51 long BURST_SIZE = 10L;
54 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
55 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
57 MeterBandType bandFlag = new MeterBandType(true, false, false);
58 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
59 DropBuilder drop = new DropBuilder();
60 drop.setDropBurstSize(BURST_SIZE);
61 drop.setDropRate(DROP_RATE);
62 Drop drp = drop.build();
63 meterBandHeaderBuilder.setBandType(drp);
64 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
66 MeterBandHeader meterBH = meterBandHeaderBuilder.build();
69 long DSCP_REMARK_BURST_SIZE = 11L;
70 long DSCP_REMARK_RATE = 21L;
71 short DSCP_PERC_LEVEL = 1;
73 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
74 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
75 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
77 meterBandTypesB1.setFlags(bandFlag1);
78 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
79 dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE);
80 dscp.setDscpRemarkRate(DSCP_REMARK_RATE);
81 dscp.setPercLevel(DSCP_PERC_LEVEL);
82 DscpRemark dscpRemark = dscp.build();
83 meterBandHeaderBuilder1.setBandType(dscpRemark);
84 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
86 MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
89 long EXP_BURST_SIZE = 12L;
91 long EXP_EXPERIMENTER = 23L;
93 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
94 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
95 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
96 meterBandTypesB2.setFlags(bandFlag2);
98 ExperimenterBuilder exp = new ExperimenterBuilder();
99 exp.setExperimenterBurstSize(EXP_BURST_SIZE);
100 exp.setExperimenterRate(EXP_RATE);
101 exp.setExperimenter(EXP_EXPERIMENTER);
102 Experimenter experimenter = exp.build();
103 meterBandHeaderBuilder2.setBandType(experimenter);
104 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
105 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
107 List<MeterBandHeader> meterBandList = new ArrayList<MeterBandHeader>();
108 meterBandList.add(0, meterBH);
109 meterBandList.add(1, meterBH1);
110 meterBandList.add(2, meterBH2);
112 // Constructing List of Bands
113 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
114 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
116 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
118 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
120 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
125 // NodeKey key = new NodeKey(new NodeId("24"));
126 // InstanceIdentifier<Node> path =
127 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
128 // key).toInstance();
131 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
132 MeterFlags flagV = new MeterFlags(true, true, true, true);
133 addMeterFromSAL.setFlags(flagV);
135 AddMeterInput meterInputCommand = addMeterFromSAL.build();
136 MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
138 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
139 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
140 assertEquals(temp, outMeterModInput.getMeterId().getValue());
141 // BandInformation starts here:
143 List<Bands> bands = outMeterModInput.getBands();
144 for (Bands currentBand : bands) {
145 MeterBand meterBand = currentBand.getMeterBand();
146 if (meterBand instanceof MeterBandDropCase) {
149 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP,
150 ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
151 assertEquals(BURST_SIZE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
152 assertEquals(DROP_RATE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
155 if (meterBand instanceof MeterBandDscpRemarkCase) {
157 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK,
158 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
159 assertEquals(DSCP_REMARK_BURST_SIZE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
160 assertEquals(DSCP_REMARK_RATE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
161 assertEquals(DSCP_PERC_LEVEL, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
164 if (meterBand instanceof MeterBandExperimenterCase) {
166 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER,
167 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
168 assertEquals(EXP_BURST_SIZE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
169 assertEquals(EXP_RATE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
170 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
171 .getAugmentation(ExperimenterIdMeterBand.class);
172 assertEquals(EXP_EXPERIMENTER, (long) expBand.getExperimenter().getValue());
180 public void testMeterModCommandConvertorwithNoFlags() {
182 long BURST_SIZE = 10L;
183 long DROP_RATE = 20L;
185 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
186 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
188 MeterBandType bandFlag = new MeterBandType(true, false, false);
189 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
190 DropBuilder drop = new DropBuilder();
191 drop.setDropBurstSize(BURST_SIZE);
192 drop.setDropRate(DROP_RATE);
193 Drop drp = drop.build();
194 meterBandHeaderBuilder.setBandType(drp);
195 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
197 MeterBandHeader meterBH = meterBandHeaderBuilder.build();
200 long DSCP_REMARK_BURST_SIZE = 11L;
201 long DSCP_REMARK_RATE = 21L;
202 short DSCP_PERC_LEVEL = 1;
204 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
205 MeterBandTypesBuilder meterBandTypesB1 = new MeterBandTypesBuilder();
206 MeterBandType bandFlag1 = new MeterBandType(false, true, false);
208 meterBandTypesB1.setFlags(bandFlag1);
209 DscpRemarkBuilder dscp = new DscpRemarkBuilder();
211 dscp.setDscpRemarkBurstSize(DSCP_REMARK_BURST_SIZE);
212 dscp.setDscpRemarkRate(DSCP_REMARK_RATE);
213 dscp.setPercLevel(DSCP_PERC_LEVEL);
214 DscpRemark dscpRemark = dscp.build();
215 meterBandHeaderBuilder1.setBandType(dscpRemark);
216 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
218 MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
221 long EXP_BURST_SIZE = 12L;
223 long EXP_EXPERIMENTER = 23L;
225 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
226 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
227 MeterBandType bandFlag2 = new MeterBandType(false, false, true);
228 meterBandTypesB2.setFlags(bandFlag2);
230 ExperimenterBuilder exp = new ExperimenterBuilder();
232 exp.setExperimenterBurstSize(EXP_BURST_SIZE);
233 exp.setExperimenterRate(EXP_RATE);
234 exp.setExperimenter(EXP_EXPERIMENTER);
235 Experimenter experimenter = exp.build();
236 meterBandHeaderBuilder2.setBandType(experimenter);
237 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
238 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
240 List<MeterBandHeader> meterBandList = new ArrayList<MeterBandHeader>();
241 meterBandList.add(0, meterBH);
242 meterBandList.add(1, meterBH1);
243 meterBandList.add(2, meterBH2);
245 // Constructing List of Bands
246 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
247 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
249 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
251 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
253 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
258 // NodeKey key = new NodeKey(new NodeId("24"));
259 // InstanceIdentifier<Node> path =
260 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
261 // key).toInstance();
264 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
267 AddMeterInput meterInputCommand = addMeterFromSAL.build();
268 MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
270 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
271 assertFalse(outMeterModInput.getFlags().isOFPMFBURST());
272 assertTrue(outMeterModInput.getFlags().isOFPMFPKTPS());
273 assertEquals(temp, outMeterModInput.getMeterId().getValue());
274 // BandInformation starts here:
276 List<Bands> bands = outMeterModInput.getBands();
277 for (Bands currentBand : bands) {
278 MeterBand meterBand = currentBand.getMeterBand();
279 if (meterBand instanceof MeterBandDropCase) {
282 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP,
283 ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
284 assertEquals(BURST_SIZE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
285 assertEquals(DROP_RATE, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
288 if (meterBand instanceof MeterBandDscpRemarkCase) {
290 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK,
291 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
292 assertEquals(DSCP_REMARK_BURST_SIZE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
293 assertEquals(DSCP_REMARK_RATE, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
294 assertEquals(DSCP_PERC_LEVEL, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
297 if (meterBand instanceof MeterBandExperimenterCase) {
299 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER,
300 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
301 assertEquals(EXP_BURST_SIZE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
302 assertEquals(EXP_RATE, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
303 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
304 .getAugmentation(ExperimenterIdMeterBand.class);
305 assertEquals(EXP_EXPERIMENTER, (long) expBand.getExperimenter().getValue());
313 public void testMeterModCommandConvertorBandDataisNULL() {
316 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
320 // NodeKey key = new NodeKey(new NodeId("24"));
321 // InstanceIdentifier<Node> path =
322 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
323 // key).toInstance();
326 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
327 MeterFlags flagV = new MeterFlags(true, true, true, true);
328 addMeterFromSAL.setFlags(flagV);
330 AddMeterInput meterInputCommand = addMeterFromSAL.build();
331 MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
333 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
334 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
335 assertEquals(temp, outMeterModInput.getMeterId().getValue());
339 public void testMeterModCommandConvertorNoValidBandData() {
342 MeterBandHeaderBuilder meterBandHeaderBuilder = new MeterBandHeaderBuilder();
343 MeterBandTypesBuilder meterBandTypesB = new MeterBandTypesBuilder();
345 MeterBandType bandFlag = new MeterBandType(true, false, false);
346 meterBandTypesB.setFlags(bandFlag);// _ofpmbtDrop
348 meterBandHeaderBuilder.setMeterBandTypes(meterBandTypesB.build());
350 MeterBandHeader meterBH = meterBandHeaderBuilder.build();
353 MeterBandHeaderBuilder meterBandHeaderBuilder1 = new MeterBandHeaderBuilder();
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.setPercLevel((short) 1);
362 DscpRemark dscpRemark = dscp.build();
363 meterBandHeaderBuilder1.setBandType(dscpRemark);
364 meterBandHeaderBuilder1.setMeterBandTypes(meterBandTypesB1.build());
366 MeterBandHeader meterBH1 = meterBandHeaderBuilder1.build();
370 MeterBandHeaderBuilder meterBandHeaderBuilder2 = new MeterBandHeaderBuilder();
371 MeterBandTypesBuilder meterBandTypesB2 = new MeterBandTypesBuilder();
374 ExperimenterBuilder exp = new ExperimenterBuilder();
375 exp.setExperimenterBurstSize(12L);
376 exp.setExperimenterRate(22L);
377 exp.setExperimenter(23L);
378 Experimenter experimenter = exp.build();
379 meterBandHeaderBuilder2.setBandType(experimenter);
380 meterBandHeaderBuilder2.setMeterBandTypes(meterBandTypesB2.build());
381 MeterBandHeader meterBH2 = meterBandHeaderBuilder2.build();
383 List<MeterBandHeader> meterBandList = new ArrayList<MeterBandHeader>();
384 meterBandList.add(0, meterBH);
385 meterBandList.add(1, meterBH1);
386 meterBandList.add(2, meterBH2);
388 // Constructing List of Bands
389 MeterBandHeadersBuilder meterBandHeadersBuilder = new MeterBandHeadersBuilder();
390 meterBandHeadersBuilder.setMeterBandHeader(meterBandList);
392 MeterBandHeaders meterBandHeaders = meterBandHeadersBuilder.build();
394 AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
396 addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
401 // NodeKey key = new NodeKey(new NodeId("24"));
402 // InstanceIdentifier<Node> path =
403 // InstanceIdentifier.builder().node(Nodes.class).node(Node.class,
404 // key).toInstance();
407 .setMeterId(new org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId(10L));
408 MeterFlags flagV = new MeterFlags(true, true, true, true);
409 addMeterFromSAL.setFlags(flagV);
411 AddMeterInput meterInputCommand = addMeterFromSAL.build();
412 MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
414 assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
415 assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
416 assertEquals(temp, outMeterModInput.getMeterId().getValue());
417 // BandInformation starts here:
419 List<Bands> bands = outMeterModInput.getBands();
420 for (Bands currentBand : bands) {
421 MeterBand meterBand = currentBand.getMeterBand();
422 if (meterBand instanceof MeterBandDropCase) {
425 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDROP,
426 ((MeterBandDropCase) meterBand).getMeterBandDrop().getType());
427 assertEquals((long) 20, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getBurstSize());
428 assertEquals((long) 10, (long) ((MeterBandDropCase) meterBand).getMeterBandDrop().getRate());
431 if (meterBand instanceof MeterBandDscpRemarkCase) {
433 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTDSCPREMARK,
434 ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getType());
435 assertEquals((long) 11, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getBurstSize());
436 assertEquals((long) 21, (long) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getRate());
437 assertEquals((short) 1, (short) ((MeterBandDscpRemarkCase) meterBand).getMeterBandDscpRemark().getPrecLevel());
440 if (meterBand instanceof MeterBandExperimenterCase) {
442 org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType.OFPMBTEXPERIMENTER,
443 ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getType());
444 assertEquals((long) 12, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getBurstSize());
445 assertEquals((long) 22, (long) ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter().getRate());
446 ExperimenterIdMeterBand expBand = ((MeterBandExperimenterCase) meterBand).getMeterBandExperimenter()
447 .getAugmentation(ExperimenterIdMeterBand.class);
448 assertEquals((long) 23, (long) expBand.getExperimenter().getValue());