KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > axi > CheckParentTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.modules.xml.axi;
20
21 import junit.framework.Test;
22 import junit.framework.TestSuite;
23 import org.netbeans.modules.xml.axi.AXIComponent.ComponentType;
24 import org.netbeans.modules.xml.axi.visitor.DeepAXITreeVisitor;
25
26 /**
27  * This test traverses the AXI model for a given schema and
28  * checks the parent component at each level.
29  *
30  * @author Samaresh
31  */

32 public class CheckParentTest extends AbstractTestCase {
33     public static final String JavaDoc TEST_XSD = "resources/po.xsd";
34     
35     public CheckParentTest(String JavaDoc testName) {
36         super(testName, TEST_XSD, null);
37     }
38         
39     public static Test suite() {
40         TestSuite suite = new TestSuite(CheckParentTest.class);
41         return suite;
42     }
43     
44     public void testParentNotNull() {
45         DeepModelVisitor visitor = new DeepModelVisitor();
46         visitor.traverse(getAXIModel().getRoot());
47     }
48         
49     private class DeepModelVisitor extends DeepAXITreeVisitor {
50         private int counter = 0;
51
52         public void traverse(AXIDocument document) {
53             document.accept(this);
54         }
55
56         protected void visitChildren(AXIComponent component) {
57             if(!(component instanceof AXIDocument))
58                 assert(component.getParent() != null);
59             counter++;
60             super.visitChildren(component);
61         }
62     }
63 }
64
Popular Tags