Upgrade to OpenROADM 7.1.0 network models
[transportpce.git] / renderer / src / test / java / org / opendaylight / transportpce / renderer / NetworkModelWaveLengthServiceFreeTest.java
1 /*
2  * Copyright © 2018 Orange Systems, Inc. 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 package org.opendaylight.transportpce.renderer;
9
10 import java.math.BigDecimal;
11 import java.util.ArrayList;
12 import java.util.Arrays;
13 import java.util.Collection;
14 import java.util.HashMap;
15 import java.util.List;
16 import java.util.Map;
17 import java.util.concurrent.ExecutionException;
18 import org.junit.Assert;
19 import org.junit.Before;
20 import org.junit.Ignore;
21 import org.junit.Test;
22 import org.junit.runner.RunWith;
23 import org.junit.runners.Parameterized;
24 import org.opendaylight.transportpce.common.StringConstants;
25 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
26 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
27 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
28 import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
29 import org.opendaylight.transportpce.common.fixedflex.GridConstant;
30 import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
31 import org.opendaylight.transportpce.renderer.stub.MountPointStub;
32 import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
33 import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
34 import org.opendaylight.transportpce.test.AbstractTest;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyGHz;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
41 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
42 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
43 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
45 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
47 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
49 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
51 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
52 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
53 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
54 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsBuilder;
55 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
56 import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.port.connection.attributes.WavelengthBuilder;
57 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.PathDescription;
58 import org.opendaylight.yangtools.yang.common.Uint16;
59
60 @Ignore
61 @RunWith(Parameterized.class)
62 public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
63     private static final long WAVE_LENGTH = 20L;
64     private NetworkModelWavelengthService networkModelWavelengthService;
65     private DeviceTransactionManager deviceTransactionManager;
66     private TerminationPoint1 terminationPoint1;
67     private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
68         .TerminationPoint1 terminationPoint2;
69     private PathDescription pathDescription;
70     private Node1 node1;
71     private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2;
72     private final AvailFreqMapsKey freqMapKey = new AvailFreqMapsKey(GridConstant.C_BAND);
73
74     public NetworkModelWaveLengthServiceFreeTest(PathDescription pathDescription, TerminationPoint1 terminationPoint1,
75         Node1 node1,
76         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 terminationPoint2,
77         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2) {
78
79         this.pathDescription = pathDescription;
80         this.terminationPoint1 = terminationPoint1;
81         this.terminationPoint2 = terminationPoint2;
82         this.node1 = node1;
83         this.node2 = node2;
84
85     }
86
87     @Parameterized.Parameters
88     public static Collection createParameters() {
89         List<Object[]> parameters = new ArrayList<>();
90
91         PathDescription pathDescription =
92             ServiceDeleteDataUtils.createTransactionPathDescription(StringConstants.TTP_TOKEN);
93
94         FixedFlexImpl fixedFlex = new FixedFlexImpl();
95         fixedFlex = fixedFlex.getFixedFlexWaveMapping(WAVE_LENGTH);
96
97         byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS * FixedGridConstant.EFFECTIVE_BITS];
98         Arrays.fill(byteArray, (byte) GridConstant.USED_SLOT_VALUE);
99         for (int i = 152;i <= 159;i++) {
100             byteArray[i] = (byte) GridConstant.AVAILABLE_SLOT_VALUE;
101         }
102         Map<AvailFreqMapsKey, AvailFreqMaps> waveMap = new HashMap<>();
103         AvailFreqMaps availFreqMaps = new AvailFreqMapsBuilder().setMapName(GridConstant.C_BAND)
104                 .setFreqMapGranularity(new FrequencyGHz(BigDecimal.valueOf(FixedGridConstant.GRANULARITY)))
105                 .setStartEdgeFreq(new FrequencyTHz(BigDecimal.valueOf(FixedGridConstant.START_EDGE_FREQUENCY)))
106                 .setEffectiveBits(Uint16.valueOf(FixedGridConstant.EFFECTIVE_BITS))
107                 .setFreqMap(byteArray)
108                 .build();
109         waveMap.put(availFreqMaps.key(), availFreqMaps);
110         FrequencyGHz frequencyGHz = new FrequencyGHz(BigDecimal.valueOf(fixedFlex.getWavelength()));
111         FrequencyTHz frequencyTHz = new FrequencyTHz(BigDecimal.valueOf(fixedFlex.getCenterFrequency()));
112         TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder()
113             .setCtpAttributes((new CtpAttributesBuilder())
114                     .setAvailFreqMaps(waveMap)
115                 .build())
116             .setCpAttributes((new CpAttributesBuilder())
117                     .setAvailFreqMaps(waveMap)
118                 .build())
119             .setTxTtpAttributes((new TxTtpAttributesBuilder())
120                     .setAvailFreqMaps(waveMap)
121                 .build())
122             .setRxTtpAttributes((new RxTtpAttributesBuilder())
123                     .setAvailFreqMaps(waveMap)
124                 .build())
125             .setPpAttributes((new PpAttributesBuilder())
126                     .setAvailFreqMaps(waveMap)
127                 .build())
128             .setXpdrClientAttributes((new XpdrClientAttributesBuilder())
129                 .setWavelength((new WavelengthBuilder())
130                     .setFrequency(frequencyTHz)
131                     .setWidth(frequencyGHz)
132                     .build())
133                 .build())
134             .setXpdrNetworkAttributes((new XpdrNetworkAttributesBuilder())
135                 .setWavelength((new WavelengthBuilder())
136                     .setFrequency(frequencyTHz)
137                     .setWidth(frequencyGHz)
138                     .build())
139                 .build())
140             .setXpdrPortAttributes((new XpdrPortAttributesBuilder())
141                 .setWavelength((new WavelengthBuilder())
142                     .setFrequency(frequencyTHz)
143                     .setWidth(frequencyGHz)
144                     .build())
145                 .build());
146
147         Node1Builder node1Builder = new Node1Builder()
148             .setDegreeAttributes((new DegreeAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
149             .setSrgAttributes((new SrgAttributesBuilder()).setAvailFreqMaps(Map.of()).build());
150
151         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder
152             terminationPoint2Builder =
153                 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder();
154
155         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder node2Builder =
156             new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder();
157
158         for (OpenroadmNodeType nodeType : Arrays.asList(OpenroadmNodeType.XPONDER, OpenroadmNodeType.DEGREE,
159             OpenroadmNodeType.SRG)) {
160             node2Builder.setNodeType(nodeType);
161             terminationPoint2Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
162             parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build(),
163                 terminationPoint2Builder.build(), node2Builder.build() });
164         }
165
166         for (OpenroadmTpType tpType : OpenroadmTpType.values()) {
167             node2Builder.setNodeType(OpenroadmNodeType.DEGREE);
168             node1Builder.setDegreeAttributes(null);
169             terminationPoint2Builder.setTpType(tpType);
170             parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build(),
171                 terminationPoint2Builder.build(), node2Builder.build() });
172         }
173
174         node2Builder.setNodeType(OpenroadmNodeType.SRG);
175         node1Builder.setDegreeAttributes((new DegreeAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
176                 .setSrgAttributes(null);
177         terminationPoint2Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
178         parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build(),
179             terminationPoint2Builder.build(), node2Builder.build() });
180         return parameters;
181     }
182
183     @Before
184     public void setMountPoint() {
185         MountPointServiceStub mountPointService = new MountPointServiceStub(new MountPointStub(this.getDataBroker()));
186         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
187         networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(this.getDataBroker());
188     }
189
190     @Test
191     public void freeWavelengthsTest() throws ExecutionException, InterruptedException {
192         WaveLengthServiceUtils.putTerminationPoint1ToDatastore("node1" + StringConstants.TTP_TOKEN,
193             StringConstants.TTP_TOKEN, this.terminationPoint1, this.deviceTransactionManager);
194         WaveLengthServiceUtils.putTerminationPoint2ToDatastore("node1" + StringConstants.TTP_TOKEN,
195             StringConstants.TTP_TOKEN, this.terminationPoint2, this.deviceTransactionManager);
196         WaveLengthServiceUtils.putNode1ToDatastore("node1" + StringConstants.TTP_TOKEN, this.node1,
197             this.deviceTransactionManager);
198         WaveLengthServiceUtils.putNode2ToDatastore("node1" + StringConstants.TTP_TOKEN, this.node2,
199             this.deviceTransactionManager);
200         this.networkModelWavelengthService.freeWavelengths(this.pathDescription);
201         Node1 updatedNode1 = WaveLengthServiceUtils.getNode1FromDatastore("node1" + StringConstants.TTP_TOKEN,
202             this.deviceTransactionManager);
203         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 updatedNode2 =
204             WaveLengthServiceUtils.getNode2FromDatastore("node1" + StringConstants.TTP_TOKEN,
205             this.deviceTransactionManager);
206         TerminationPoint1 updatedTerminationPoint1 =
207             WaveLengthServiceUtils.getTerminationPoint1FromDatastore("node1" + StringConstants.TTP_TOKEN,
208                 StringConstants.TTP_TOKEN, this.deviceTransactionManager);
209         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
210             .TerminationPoint1 updatedTerminationPoint2 = WaveLengthServiceUtils
211             .getTerminationPoint2FromDatastore("node1" + StringConstants.TTP_TOKEN, StringConstants.TTP_TOKEN,
212             this.deviceTransactionManager);
213         switch (updatedTerminationPoint2.getTpType()) {
214             case DEGREETXRXCTP:
215             case DEGREETXCTP:
216             case DEGREERXCTP:
217                 Assert.assertNull(updatedTerminationPoint1.getCtpAttributes());
218                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
219                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
220                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
221                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
222                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
223                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
224                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
225                 break;
226             case SRGTXCP:
227             case SRGRXCP:
228             case SRGTXRXCP:
229                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
230                 Assert.assertNull(updatedTerminationPoint1.getCpAttributes());
231                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
232                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
233                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
234                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
235                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
236                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
237                 break;
238             case DEGREETXRXTTP:
239             case DEGREETXTTP:
240                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
241                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
242                 Assert.assertNull(updatedTerminationPoint1.getTxTtpAttributes());
243                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
244                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
245                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
246                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
247                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
248                 break;
249             case DEGREERXTTP:
250                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
251                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
252                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
253                 Assert.assertNull(updatedTerminationPoint1.getRxTtpAttributes());
254                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
255                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
256                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
257                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
258                 break;
259             case SRGRXPP:
260             case SRGTXPP:
261             case SRGTXRXPP:
262                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
263                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
264                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
265                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
266                 Assert.assertNull(updatedTerminationPoint1.getPpAttributes());
267                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
268                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
269                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
270                 break;
271             case XPONDERCLIENT:
272                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
273                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
274                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
275                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
276                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
277                 Assert.assertNull(updatedTerminationPoint1.getXpdrClientAttributes());
278                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
279                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
280                 break;
281             case XPONDERNETWORK:
282                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
283                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
284                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
285                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
286                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
287                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
288                 Assert.assertNull(updatedTerminationPoint1.getXpdrNetworkAttributes());
289                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
290                 break;
291             case XPONDERPORT:
292                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
293                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
294                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
295                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
296                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
297                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
298                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
299                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes());
300                 break;
301             default:
302                 Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
303                 Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
304                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
305                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
306                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
307                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrClientAttributes().getWavelength());
308                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrNetworkAttributes().getWavelength());
309                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
310                 break;
311         }
312         AvailFreqMaps availFreqMaps4Srg = updatedNode1.getSrgAttributes().nonnullAvailFreqMaps().get(freqMapKey);
313         AvailFreqMaps availFreqMaps4Degree = updatedNode1.getDegreeAttributes().nonnullAvailFreqMaps().get(freqMapKey);
314         int effectiveBits = availFreqMaps4Srg.getEffectiveBits().intValue();
315         byte[] array = new byte[effectiveBits];
316         Arrays.fill(array, (byte) 1);
317         switch (updatedNode2.getNodeType()) {
318             case DEGREE:
319                 Assert.assertNotNull("FreqMap should not be null", availFreqMaps4Degree.getFreqMap());
320                 Assert.assertTrue("Index 20 should be available",
321                         Arrays.equals(Arrays.copyOfRange(availFreqMaps4Degree.getFreqMap(), 152, 160), array));
322                 Assert.assertNull(availFreqMaps4Srg);
323                 break;
324             case SRG:
325                 Assert.assertNotNull("FreqMap should not be null", availFreqMaps4Srg.getFreqMap());
326                 Assert.assertTrue("Index 20 should be available",
327                         Arrays.equals(Arrays.copyOfRange(availFreqMaps4Srg.getFreqMap(), 152, 160), array));
328                 Assert.assertNull(availFreqMaps4Degree);
329                 break;
330             default:
331                 Assert.assertNull(availFreqMaps4Degree);
332                 Assert.assertNull(availFreqMaps4Srg);
333                 break;
334         }
335     }
336 }