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