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