Bug 4656: Yang parser does not determine configuration true or false properly
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / stmt / test / CaseStmtTest.java
1 /*
2  * Copyright (c) 2015 Cisco 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
9 package org.opendaylight.yangtools.yang.stmt.test;
10
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertNotNull;
13 import static org.junit.Assert.assertTrue;
14
15 import java.io.FileNotFoundException;
16 import java.net.URI;
17 import java.net.URISyntaxException;
18 import java.text.ParseException;
19 import java.text.SimpleDateFormat;
20 import java.util.Date;
21 import org.junit.Before;
22 import org.junit.Rule;
23 import org.junit.Test;
24 import org.junit.rules.ExpectedException;
25 import org.opendaylight.yangtools.yang.common.QName;
26 import org.opendaylight.yangtools.yang.common.QNameModule;
27 import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
28 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
29 import org.opendaylight.yangtools.yang.model.api.Module;
30 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
31 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
32 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
33 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ChoiceEffectiveStatementImpl;
34 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ContainerEffectiveStatementImpl;
35
36 public class CaseStmtTest {
37     private SchemaContext schema;
38     private Module rootFoo, rootBar;
39     private QNameModule qnameFoo, qnameBar;
40     private DataSchemaNode tempChild, tempSecondChild, tempThirdChild;
41     private ChoiceCaseNode tempChoice;
42
43     @Rule
44     public ExpectedException expectedEx = ExpectedException.none();
45
46     @Before
47     public void setup() throws ReactorException, FileNotFoundException, URISyntaxException, ParseException {
48         schema = StmtTestUtils.parseYangSources("/case-test");
49         String date_s = "2015-09-09 00:00:00.0";
50         SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
51         Date date = dt.parse(date_s);
52         rootFoo = schema.findModuleByName("foo", date);
53         rootBar = schema.findModuleByName("bar", date);
54         assertNotNull(rootFoo);
55         assertNotNull(rootBar);
56         qnameFoo = QNameModule.create(URI.create("foo"), date);
57         qnameBar = QNameModule.create(URI.create("bar"), date);
58         assertNotNull(qnameFoo);
59         assertNotNull(qnameBar);
60     }
61
62     @Test
63     public void caseTest() {
64         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-fff"));
65         assertNotNull(tempChild);
66         assertFalse(tempChild.isConfiguration());
67         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
68         assertNotNull(tempSecondChild);
69         assertFalse(tempSecondChild.isConfiguration());
70         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
71         assertNotNull(tempChoice);
72         assertFalse(tempChoice.isConfiguration());
73         tempThirdChild = tempChoice.getChildNodes().iterator().next();
74         assertNotNull(tempThirdChild);
75         assertFalse(tempThirdChild.isConfiguration());
76
77         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ffn"));
78         assertNotNull(tempChild);
79         assertFalse(tempChild.isConfiguration());
80         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
81         assertNotNull(tempSecondChild);
82         assertFalse(tempSecondChild.isConfiguration());
83         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
84         assertNotNull(tempChoice);
85         assertFalse(tempChoice.isConfiguration());
86         tempThirdChild = tempChoice.getChildNodes().iterator().next();
87         assertNotNull(tempThirdChild);
88         assertFalse(tempThirdChild.isConfiguration());
89
90         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-fnf"));
91         assertNotNull(tempChild);
92         assertFalse(tempChild.isConfiguration());
93         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
94         assertNotNull(tempSecondChild);
95         assertFalse(tempSecondChild.isConfiguration());
96         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
97         assertNotNull(tempChoice);
98         assertFalse(tempChoice.isConfiguration());
99         tempThirdChild = tempChoice.getChildNodes().iterator().next();
100         assertNotNull(tempThirdChild);
101         assertFalse(tempThirdChild.isConfiguration());
102
103         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-nff"));
104         assertNotNull(tempChild);
105         assertTrue(tempChild.isConfiguration());
106         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
107         assertNotNull(tempSecondChild);
108         assertFalse(tempSecondChild.isConfiguration());
109         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
110         assertNotNull(tempChoice);
111         assertFalse(tempChoice.isConfiguration());
112         tempThirdChild = tempChoice.getChildNodes().iterator().next();
113         assertNotNull(tempThirdChild);
114         assertFalse(tempThirdChild.isConfiguration());
115
116         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-nnf"));
117         assertNotNull(tempChild);
118         assertTrue(tempChild.isConfiguration());
119         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
120         assertNotNull(tempSecondChild);
121         assertTrue(tempSecondChild.isConfiguration());
122         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
123         assertNotNull(tempChoice);
124         assertFalse(tempChoice.isConfiguration());
125         tempThirdChild = tempChoice.getChildNodes().iterator().next();
126         assertNotNull(tempThirdChild);
127         assertFalse(tempThirdChild.isConfiguration());
128
129         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-nfn"));
130         assertNotNull(tempChild);
131         assertTrue(tempChild.isConfiguration());
132         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
133         assertNotNull(tempSecondChild);
134         assertFalse(tempSecondChild.isConfiguration());
135         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
136         assertNotNull(tempChoice);
137         assertFalse(tempChoice.isConfiguration());
138         tempThirdChild = tempChoice.getChildNodes().iterator().next();
139         assertNotNull(tempThirdChild);
140         assertFalse(tempThirdChild.isConfiguration());
141
142         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-fnn"));
143         assertNotNull(tempChild);
144         assertFalse(tempChild.isConfiguration());
145         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
146         assertNotNull(tempSecondChild);
147         assertFalse(tempSecondChild.isConfiguration());
148         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
149         assertNotNull(tempChoice);
150         assertFalse(tempChoice.isConfiguration());
151         tempThirdChild = tempChoice.getChildNodes().iterator().next();
152         assertNotNull(tempThirdChild);
153         assertFalse(tempThirdChild.isConfiguration());
154
155         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ttt"));
156         assertNotNull(tempChild);
157         assertTrue(tempChild.isConfiguration());
158         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
159         assertNotNull(tempSecondChild);
160         assertTrue(tempSecondChild.isConfiguration());
161         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
162         assertNotNull(tempChoice);
163         assertTrue(tempChoice.isConfiguration());
164         tempThirdChild = tempChoice.getChildNodes().iterator().next();
165         assertNotNull(tempThirdChild);
166         assertTrue(tempThirdChild.isConfiguration());
167
168         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ttn"));
169         assertNotNull(tempChild);
170         assertTrue(tempChild.isConfiguration());
171         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
172         assertNotNull(tempSecondChild);
173         assertTrue(tempSecondChild.isConfiguration());
174         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
175         assertNotNull(tempChoice);
176         assertTrue(tempChoice.isConfiguration());
177         tempThirdChild = tempChoice.getChildNodes().iterator().next();
178         assertNotNull(tempThirdChild);
179         assertTrue(tempThirdChild.isConfiguration());
180
181         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-tnt"));
182         assertNotNull(tempChild);
183         assertTrue(tempChild.isConfiguration());
184         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
185         assertNotNull(tempSecondChild);
186         assertTrue(tempSecondChild.isConfiguration());
187         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
188         assertNotNull(tempChoice);
189         assertTrue(tempChoice.isConfiguration());
190         tempThirdChild = tempChoice.getChildNodes().iterator().next();
191         assertNotNull(tempThirdChild);
192         assertTrue(tempThirdChild.isConfiguration());
193
194         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ntt"));
195         assertNotNull(tempChild);
196         assertTrue(tempChild.isConfiguration());
197         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
198         assertNotNull(tempSecondChild);
199         assertTrue(tempSecondChild.isConfiguration());
200         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
201         assertNotNull(tempChoice);
202         assertTrue(tempChoice.isConfiguration());
203         tempThirdChild = tempChoice.getChildNodes().iterator().next();
204         assertNotNull(tempThirdChild);
205         assertTrue(tempThirdChild.isConfiguration());
206
207         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-nnt"));
208         assertNotNull(tempChild);
209         assertTrue(tempChild.isConfiguration());
210         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
211         assertNotNull(tempSecondChild);
212         assertTrue(tempSecondChild.isConfiguration());
213         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
214         assertNotNull(tempChoice);
215         assertTrue(tempChoice.isConfiguration());
216         tempThirdChild = tempChoice.getChildNodes().iterator().next();
217         assertNotNull(tempThirdChild);
218         assertTrue(tempThirdChild.isConfiguration());
219
220         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ntn"));
221         assertNotNull(tempChild);
222         assertTrue(tempChild.isConfiguration());
223         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
224         assertNotNull(tempSecondChild);
225         assertTrue(tempSecondChild.isConfiguration());
226         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
227         assertNotNull(tempChoice);
228         assertTrue(tempChoice.isConfiguration());
229         tempThirdChild = tempChoice.getChildNodes().iterator().next();
230         assertNotNull(tempThirdChild);
231         assertTrue(tempThirdChild.isConfiguration());
232
233         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-tnn"));
234         assertNotNull(tempChild);
235         assertTrue(tempChild.isConfiguration());
236         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
237         assertNotNull(tempSecondChild);
238         assertTrue(tempSecondChild.isConfiguration());
239         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
240         assertNotNull(tempChoice);
241         assertTrue(tempChoice.isConfiguration());
242         tempThirdChild = tempChoice.getChildNodes().iterator().next();
243         assertNotNull(tempThirdChild);
244         assertTrue(tempThirdChild.isConfiguration());
245
246         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-tff"));
247         assertNotNull(tempChild);
248         assertTrue(tempChild.isConfiguration());
249         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
250         assertNotNull(tempSecondChild);
251         assertFalse(tempSecondChild.isConfiguration());
252         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
253         assertNotNull(tempChoice);
254         assertFalse(tempChoice.isConfiguration());
255         tempThirdChild = tempChoice.getChildNodes().iterator().next();
256         assertNotNull(tempThirdChild);
257         assertFalse(tempThirdChild.isConfiguration());
258
259         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-tnf"));
260         assertNotNull(tempChild);
261         assertTrue(tempChild.isConfiguration());
262         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
263         assertNotNull(tempSecondChild);
264         assertTrue(tempSecondChild.isConfiguration());
265         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
266         assertNotNull(tempChoice);
267         assertFalse(tempChoice.isConfiguration());
268         tempThirdChild = tempChoice.getChildNodes().iterator().next();
269         assertNotNull(tempThirdChild);
270         assertFalse(tempThirdChild.isConfiguration());
271
272         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-tfn"));
273         assertNotNull(tempChild);
274         assertTrue(tempChild.isConfiguration());
275         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
276         assertNotNull(tempSecondChild);
277         assertFalse(tempSecondChild.isConfiguration());
278         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
279         assertNotNull(tempChoice);
280         assertFalse(tempChoice.isConfiguration());
281         tempThirdChild = tempChoice.getChildNodes().iterator().next();
282         assertNotNull(tempThirdChild);
283         assertFalse(tempThirdChild.isConfiguration());
284
285         tempChild = rootFoo.getDataChildByName(QName.create(qnameFoo, "root-ntf"));
286         assertNotNull(tempChild);
287         assertTrue(tempChild.isConfiguration());
288         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
289         assertNotNull(tempSecondChild);
290         assertTrue(tempSecondChild.isConfiguration());
291         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
292         assertNotNull(tempChoice);
293         assertFalse(tempChoice.isConfiguration());
294         tempThirdChild = tempChoice.getChildNodes().iterator().next();
295         assertNotNull(tempThirdChild);
296         assertFalse(tempThirdChild.isConfiguration());
297     }
298
299     @Test
300     public void shortCaseTest() {
301         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-fff"));
302         assertNotNull(tempChild);
303         assertFalse(tempChild.isConfiguration());
304         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
305         assertNotNull(tempSecondChild);
306         assertFalse(tempSecondChild.isConfiguration());
307         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
308         assertNotNull(tempChoice);
309         assertFalse(tempChoice.isConfiguration());
310         tempThirdChild = tempChoice.getChildNodes().iterator().next();
311         assertNotNull(tempThirdChild);
312         assertFalse(tempThirdChild.isConfiguration());
313
314         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ffn"));
315         assertNotNull(tempChild);
316         assertFalse(tempChild.isConfiguration());
317         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
318         assertNotNull(tempSecondChild);
319         assertFalse(tempSecondChild.isConfiguration());
320         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
321         assertNotNull(tempChoice);
322         assertFalse(tempChoice.isConfiguration());
323         tempThirdChild = tempChoice.getChildNodes().iterator().next();
324         assertNotNull(tempThirdChild);
325         assertFalse(tempThirdChild.isConfiguration());
326
327         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-fnf"));
328         assertNotNull(tempChild);
329         assertFalse(tempChild.isConfiguration());
330         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
331         assertNotNull(tempSecondChild);
332         assertFalse(tempSecondChild.isConfiguration());
333         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
334         assertNotNull(tempChoice);
335         assertFalse(tempChoice.isConfiguration());
336         tempThirdChild = tempChoice.getChildNodes().iterator().next();
337         assertNotNull(tempThirdChild);
338         assertFalse(tempThirdChild.isConfiguration());
339
340         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-nff"));
341         assertNotNull(tempChild);
342         assertTrue(tempChild.isConfiguration());
343         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
344         assertNotNull(tempSecondChild);
345         assertFalse(tempSecondChild.isConfiguration());
346         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
347         assertNotNull(tempChoice);
348         assertFalse(tempChoice.isConfiguration());
349         tempThirdChild = tempChoice.getChildNodes().iterator().next();
350         assertNotNull(tempThirdChild);
351         assertFalse(tempThirdChild.isConfiguration());
352
353         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-nnf"));
354         assertNotNull(tempChild);
355         assertTrue(tempChild.isConfiguration());
356         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
357         assertNotNull(tempSecondChild);
358         assertTrue(tempSecondChild.isConfiguration());
359         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
360         assertNotNull(tempChoice);
361         assertFalse(tempChoice.isConfiguration());
362         tempThirdChild = tempChoice.getChildNodes().iterator().next();
363         assertNotNull(tempThirdChild);
364         assertFalse(tempThirdChild.isConfiguration());
365
366         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-nfn"));
367         assertNotNull(tempChild);
368         assertTrue(tempChild.isConfiguration());
369         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
370         assertNotNull(tempSecondChild);
371         assertFalse(tempSecondChild.isConfiguration());
372         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
373         assertNotNull(tempChoice);
374         assertFalse(tempChoice.isConfiguration());
375         tempThirdChild = tempChoice.getChildNodes().iterator().next();
376         assertNotNull(tempThirdChild);
377         assertFalse(tempThirdChild.isConfiguration());
378
379         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-fnn"));
380         assertNotNull(tempChild);
381         assertFalse(tempChild.isConfiguration());
382         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
383         assertNotNull(tempSecondChild);
384         assertFalse(tempSecondChild.isConfiguration());
385         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
386         assertNotNull(tempChoice);
387         assertFalse(tempChoice.isConfiguration());
388         tempThirdChild = tempChoice.getChildNodes().iterator().next();
389         assertNotNull(tempThirdChild);
390         assertFalse(tempThirdChild.isConfiguration());
391
392         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ttt"));
393         assertNotNull(tempChild);
394         assertTrue(tempChild.isConfiguration());
395         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
396         assertNotNull(tempSecondChild);
397         assertTrue(tempSecondChild.isConfiguration());
398         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
399         assertNotNull(tempChoice);
400         assertTrue(tempChoice.isConfiguration());
401         tempThirdChild = tempChoice.getChildNodes().iterator().next();
402         assertNotNull(tempThirdChild);
403         assertTrue(tempThirdChild.isConfiguration());
404
405         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ttn"));
406         assertNotNull(tempChild);
407         assertTrue(tempChild.isConfiguration());
408         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
409         assertNotNull(tempSecondChild);
410         assertTrue(tempSecondChild.isConfiguration());
411         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
412         assertNotNull(tempChoice);
413         assertTrue(tempChoice.isConfiguration());
414         tempThirdChild = tempChoice.getChildNodes().iterator().next();
415         assertNotNull(tempThirdChild);
416         assertTrue(tempThirdChild.isConfiguration());
417
418         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-tnt"));
419         assertNotNull(tempChild);
420         assertTrue(tempChild.isConfiguration());
421         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
422         assertNotNull(tempSecondChild);
423         assertTrue(tempSecondChild.isConfiguration());
424         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
425         assertNotNull(tempChoice);
426         assertTrue(tempChoice.isConfiguration());
427         tempThirdChild = tempChoice.getChildNodes().iterator().next();
428         assertNotNull(tempThirdChild);
429         assertTrue(tempThirdChild.isConfiguration());
430
431         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ntt"));
432         assertNotNull(tempChild);
433         assertTrue(tempChild.isConfiguration());
434         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
435         assertNotNull(tempSecondChild);
436         assertTrue(tempSecondChild.isConfiguration());
437         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
438         assertNotNull(tempChoice);
439         assertTrue(tempChoice.isConfiguration());
440         tempThirdChild = tempChoice.getChildNodes().iterator().next();
441         assertNotNull(tempThirdChild);
442         assertTrue(tempThirdChild.isConfiguration());
443
444         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-nnt"));
445         assertNotNull(tempChild);
446         assertTrue(tempChild.isConfiguration());
447         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
448         assertNotNull(tempSecondChild);
449         assertTrue(tempSecondChild.isConfiguration());
450         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
451         assertNotNull(tempChoice);
452         assertTrue(tempChoice.isConfiguration());
453         tempThirdChild = tempChoice.getChildNodes().iterator().next();
454         assertNotNull(tempThirdChild);
455         assertTrue(tempThirdChild.isConfiguration());
456
457         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ntn"));
458         assertNotNull(tempChild);
459         assertTrue(tempChild.isConfiguration());
460         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
461         assertNotNull(tempSecondChild);
462         assertTrue(tempSecondChild.isConfiguration());
463         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
464         assertNotNull(tempChoice);
465         assertTrue(tempChoice.isConfiguration());
466         tempThirdChild = tempChoice.getChildNodes().iterator().next();
467         assertNotNull(tempThirdChild);
468         assertTrue(tempThirdChild.isConfiguration());
469
470         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-tnn"));
471         assertNotNull(tempChild);
472         assertTrue(tempChild.isConfiguration());
473         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
474         assertNotNull(tempSecondChild);
475         assertTrue(tempSecondChild.isConfiguration());
476         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
477         assertNotNull(tempChoice);
478         assertTrue(tempChoice.isConfiguration());
479         tempThirdChild = tempChoice.getChildNodes().iterator().next();
480         assertNotNull(tempThirdChild);
481         assertTrue(tempThirdChild.isConfiguration());
482
483         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-tff"));
484         assertNotNull(tempChild);
485         assertTrue(tempChild.isConfiguration());
486         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
487         assertNotNull(tempSecondChild);
488         assertFalse(tempSecondChild.isConfiguration());
489         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
490         assertNotNull(tempChoice);
491         assertFalse(tempChoice.isConfiguration());
492         tempThirdChild = tempChoice.getChildNodes().iterator().next();
493         assertNotNull(tempThirdChild);
494         assertFalse(tempThirdChild.isConfiguration());
495
496         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-tnf"));
497         assertNotNull(tempChild);
498         assertTrue(tempChild.isConfiguration());
499         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
500         assertNotNull(tempSecondChild);
501         assertTrue(tempSecondChild.isConfiguration());
502         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
503         assertNotNull(tempChoice);
504         assertFalse(tempChoice.isConfiguration());
505         tempThirdChild = tempChoice.getChildNodes().iterator().next();
506         assertNotNull(tempThirdChild);
507         assertFalse(tempThirdChild.isConfiguration());
508
509         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-tfn"));
510         assertNotNull(tempChild);
511         assertTrue(tempChild.isConfiguration());
512         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
513         assertNotNull(tempSecondChild);
514         assertFalse(tempSecondChild.isConfiguration());
515         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
516         assertNotNull(tempChoice);
517         assertFalse(tempChoice.isConfiguration());
518         tempThirdChild = tempChoice.getChildNodes().iterator().next();
519         assertNotNull(tempThirdChild);
520         assertFalse(tempThirdChild.isConfiguration());
521
522         tempChild = rootBar.getDataChildByName(QName.create(qnameBar, "sh-root-ntf"));
523         assertNotNull(tempChild);
524         assertTrue(tempChild.isConfiguration());
525         tempSecondChild = ((ContainerEffectiveStatementImpl) tempChild).getChildNodes().iterator().next();
526         assertNotNull(tempSecondChild);
527         assertTrue(tempSecondChild.isConfiguration());
528         tempChoice = ((ChoiceEffectiveStatementImpl) tempSecondChild).getCases().iterator().next();
529         assertNotNull(tempChoice);
530         assertFalse(tempChoice.isConfiguration());
531         tempThirdChild = tempChoice.getChildNodes().iterator().next();
532         assertNotNull(tempThirdChild);
533         assertFalse(tempThirdChild.isConfiguration());
534     }
535
536     @Test
537     public void InferenceExceptionChoiceTest() throws ReactorException, FileNotFoundException, URISyntaxException {
538         expectedEx.expect(InferenceException.class);
539         schema = StmtTestUtils.parseYangSources("/case-test/case-test-exceptions/choice");
540     }
541
542     @Test
543     public void InferenceExceptionCaseTest() throws ReactorException, FileNotFoundException, URISyntaxException {
544         expectedEx.expect(InferenceException.class);
545         schema = StmtTestUtils.parseYangSources("/case-test/case-test-exceptions/case");
546     }
547 }