KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > retriever > catalog > model > XAMCatalogModelTest


1 /*
2  * XAMCatalogModelTest.java
3  * JUnit based test
4  *
5  * Created on December 7, 2006, 3:03 PM
6  */

7
8 package org.netbeans.modules.xml.retriever.catalog.model;
9
10 import java.beans.PropertyChangeEvent JavaDoc;
11 import java.beans.PropertyChangeListener JavaDoc;
12 import java.io.File JavaDoc;
13 import java.net.URI JavaDoc;
14 import java.net.URISyntaxException JavaDoc;
15 import java.util.List JavaDoc;
16 import javax.swing.text.BadLocationException JavaDoc;
17 import junit.framework.*;
18 import org.netbeans.modules.xml.xam.ModelSource;
19 import org.netbeans.modules.xml.xam.locator.CatalogModelException;
20 import org.openide.filesystems.FileObject;
21 import org.openide.filesystems.FileUtil;
22
23 /**
24  *
25  * @author girix
26  */

27 public class XAMCatalogModelTest extends TestCase implements PropertyChangeListener JavaDoc{
28     
29     public XAMCatalogModelTest(String JavaDoc testName) {
30         super(testName);
31     }
32     
33     protected void setUp() throws Exception JavaDoc {
34     }
35     
36     protected void tearDown() throws Exception JavaDoc {
37     }
38     
39     public static Test suite() {
40         TestSuite suite = new TestSuite(XAMCatalogModelTest.class);
41         
42         return suite;
43     }
44     
45     
46     int eventFired = 0;
47     
48     public void testCatalogModel() throws URISyntaxException JavaDoc, BadLocationException JavaDoc {
49         File JavaDoc inputFile = null;
50         
51         try {
52             inputFile = new File JavaDoc(XAMCatalogModelTest.class.getResource("catalog.xml").toURI());
53         } catch (URISyntaxException JavaDoc ex) {
54             assert false;
55             ex.printStackTrace();
56             return;
57         }
58         
59         FileObject inputFO = FileUtil.toFileObject(FileUtil.
60                 normalizeFile(inputFile));
61         
62         ModelSource source = null;
63         try {
64             source = TestUtil.createModelSource(inputFO, true);
65         } catch (CatalogModelException ex) {
66             assert false;
67             ex.printStackTrace();
68             return;
69         }
70         
71         CatalogModelFactory instance = CatalogModelFactory.getInstance();
72         CatalogModel cm = instance.getModel(source);
73         assertNotNull(cm);
74         
75         Catalog cat = cm.getRootComponent();
76         assertNotNull(cat);
77         
78         cat.addPropertyChangeListener(this);
79         
80         /* system related tests*/
81         List JavaDoc<System JavaDoc> systems = cat.getSystems();
82         assertNotNull(systems);
83         
84         assertEquals(1, systems.size());
85         System JavaDoc system = systems.get(0);
86         
87         system.addPropertyChangeListener(this);
88         
89         assertEquals("sysIDAttr", system.getSystemIDAttr());
90         assertEquals("uriAttr", system.getURIAttr());
91         assertEquals("xprojCatRefAttr", system.getXprojectCatalogFileLocationAttr());
92         assertEquals("refFileAttr", system.getReferencingFileAttr());
93         
94         system.getModel().startTransaction();
95         system.setSystemIDAttr(new URI JavaDoc("dummy"));
96         system.setURIAttr(new URI JavaDoc("dummy"));
97         system.setXprojectCatalogFileLocationAttr(new URI JavaDoc("dummy"));
98         system.setReferencingFileAttr(new URI JavaDoc("dummy"));
99         system.getModel().endTransaction();
100         
101         assertEquals(4, eventFired);
102         eventFired = 0;
103         
104         assertEquals("dummy", system.getSystemIDAttr());
105         assertEquals("dummy", system.getURIAttr());
106         assertEquals("dummy", system.getXprojectCatalogFileLocationAttr());
107         assertEquals("dummy", system.getReferencingFileAttr());
108         
109         System JavaDoc nsys = (System JavaDoc) system.copy(cat);
110         
111         cat.getModel().startTransaction();
112         cat.removeSystem(system);
113         cat.getModel().endTransaction();
114         
115         assertEquals(1, eventFired);
116         eventFired = 0;
117         
118         assertEquals(0, cat.getSystems().size());
119         
120         cat.getModel().startTransaction();
121         cat.addSystem(nsys);
122         cat.getModel().endTransaction();
123         
124         assertEquals(1, eventFired);
125         eventFired = 0;
126         
127         assertEquals(1, cat.getSystems().size());
128         
129         /* NextCatalog testcases*/
130         List JavaDoc<NextCatalog> nextCatalogs = cat.getNextCatalogs();
131         assertNotNull(nextCatalogs);
132         
133         assertEquals(1, nextCatalogs.size());
134         NextCatalog nextCatalog = nextCatalogs.get(0);
135         
136         nextCatalog.addPropertyChangeListener(this);
137         
138         assertEquals("catalogAttr", nextCatalog.getCatalogAttr());
139         
140         cat.getModel().startTransaction();
141         try {
142             nextCatalog.setCatalogAttr(new URI JavaDoc("dummy"));
143         } finally{
144             cat.getModel().endTransaction();
145         }
146         
147         assertEquals(1, eventFired);
148         eventFired = 0;
149         
150         assertEquals("dummy", nextCatalog.getCatalogAttr());
151         
152         NextCatalog nncat = (NextCatalog) nextCatalog.copy(cat);
153         
154         cat.getModel().startTransaction();
155         cat.removeNextCatalog(nextCatalog);
156         cat.getModel().endTransaction();
157         
158         assertEquals(1, eventFired);
159         eventFired = 0;
160         
161         assertEquals(0, cat.getNextCatalogs().size());
162         
163         cat.getModel().startTransaction();
164         cat.addNextCatalog(nncat);
165         cat.getModel().endTransaction();
166         
167         assertEquals(1, eventFired);
168         eventFired = 0;
169         
170         assertEquals(1, cat.getNextCatalogs().size());
171         
172         /*Document doc = (Document) cat.getModel().getModelSource().getLookup().lookup(Document.class);;
173         java.lang.System.out.println(doc.getText(0, doc.getLength()));*/

174     }
175     
176     public void propertyChange(PropertyChangeEvent JavaDoc evt) {
177         eventFired++;
178     }
179     
180     
181     public void testEmptyCatalogModel() throws URISyntaxException JavaDoc, BadLocationException JavaDoc {
182         File JavaDoc inputFile = null;
183         
184         try {
185             inputFile = new File JavaDoc(XAMCatalogModelTest.class.getResource("empty.xml").toURI());
186         } catch (URISyntaxException JavaDoc ex) {
187             assert false;
188             ex.printStackTrace();
189             return;
190         }
191         
192         FileObject inputFO = FileUtil.toFileObject(FileUtil.
193                 normalizeFile(inputFile));
194         
195         ModelSource source = null;
196         try {
197             source = TestUtil.createModelSource(inputFO, true);
198         } catch (CatalogModelException ex) {
199             assert false;
200             ex.printStackTrace();
201             return;
202         }
203         
204         CatalogModelFactory instance = CatalogModelFactory.getInstance();
205         CatalogModel cm = instance.getModel(source);
206         assertNotNull(cm);
207         
208         assertNotNull(cm.getRootComponent());
209         
210         NextCatalog nc = cm.getFactory().createNextCatalog();
211         
212         cm.startTransaction();
213         try {
214             cm.getRootComponent().addNextCatalog(nc);
215             nc.setCatalogAttr(new URI JavaDoc("dummy"));
216         } finally{
217             cm.endTransaction();
218         }
219         
220         assertEquals(1, cm.getRootComponent().getNextCatalogs().size());
221         
222         /*Document doc = (Document) cm.getModelSource().getLookup().lookup(Document.class);;
223         java.lang.System.out.println(doc.getText(0, doc.getLength()));*/

224     }
225     
226 }
227
Popular Tags