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