Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/acs/damsel/srvr/db/TestTable.java


1   package org.acs.damsel.srvr.db;
2   
3   import junit.framework.*;
4   import java.util.Vector;
5   
6   public class TestTable extends TestCase {
7     private Table table = null;
8   
9     protected void setUp() throws Exception {
10      super.setUp();
11      table = new Table();
12    }
13  
14    protected void tearDown() throws Exception {
15      table = null;
16      super.tearDown();
17    }
18  
19    public void testTable() {
20      table = new Table();
21    }
22  
23    public void testGetRow(){
24      Vector results = new Vector();
25      Vector row1 = new Vector();
26      row1.add("michelle");
27      Vector row2 = new Vector();
28      row2.add("christy");
29      results.add(row1);
30      results.add(row2);
31      table.setResults(results);
32      this.assertEquals(table.getRow(0), row1);
33      this.assertEquals(table.getRow(1), row2);
34      this.assertNull(table.getRow(2));
35    }
36  
37    public void testGetCol(){
38      Vector results = new Vector();
39      Vector row1 = new Vector();
40      row1.add("michelle");
41      Vector row2 = new Vector();
42      row2.add("christy");
43      results.add(row1);
44      results.add(row2);
45      Vector metaData = new Vector();
46      metaData.add("names");
47      table.setMetaData(metaData);
48      table.setResults(results);
49      Vector sample = new Vector();
50      sample.addElement("michelle");
51      sample.addElement("christy");
52      this.assertEquals(table.getCol(0), sample);
53      this.assertNull(table.getCol(1));
54      this.assertEquals(table.getCol("names"),sample);
55      this.assertNull(table.getCol("blah"));
56    }
57  
58    public void testIsInResults() {
59      Vector results = new Vector();
60      Vector row1 = new Vector();
61      row1.add("michelle");
62      Vector row2 = new Vector();
63      row2.add("christy");
64      results.add(row1);
65      results.add(row2);
66      Vector metaData = new Vector();
67      metaData.add("names");
68      table.setMetaData(metaData);
69      table.setResults(results);
70      this.assertTrue(table.isInResults("names","christy"));
71    }
72  
73    /*Test orderBy */
74    public void testOrderBy() {
75      table = new Table();
76      /*Populate the metadata tags */
77      Vector metadata = new Vector();
78      metadata.add("one");
79      metadata.add("two");
80      metadata.add("three");
81      /*Populate the results vector */
82      Vector results = new Vector();
83      Vector temp = new Vector();
84  
85      temp.add("i");
86      temp.add("j");
87      temp.add("p");
88      results.add(temp);
89      temp = new Vector();
90      temp.add("e");
91      temp.add("b");
92      temp.add("d");
93      results.add(temp);
94      temp = new Vector();
95      temp.add("a");
96      temp.add("t");
97      temp.add("k");
98      results.add(temp);
99      temp = new Vector();
100     temp.add("f");
101     temp.add("g");
102     temp.add("h");
103     results.add(temp);
104     table.setMetaData(metadata);
105     table.setResults(results);
106 
107     try {
108       /*Order by "one" */
109       table.orderBy("one");
110 
111       /*Assert that the metadata tags have not been reordered */
112       this.assertTrue(table.getMetaData().elementAt(0).equals("one"));
113       this.assertTrue(table.getMetaData().elementAt(1).equals("two"));
114       this.assertTrue(table.getMetaData().elementAt(2).equals("three"));
115       /*Assert that the table has been ordered */
116       this.assertTrue(table.getResultsElement(0, 0).equals("a"));
117       this.assertTrue(table.getResultsElement(1, 0).equals("e"));
118       this.assertTrue(table.getResultsElement(2, 0).equals("f"));
119       this.assertTrue(table.getResultsElement(3, 0).equals("i"));
120       /*Assert that the columns pertaining to the other metadata tags have been shifted
121       accordingly */
122       this.assertTrue(table.getResultsElement(0, 1).equals("t"));
123       this.assertTrue(table.getResultsElement(1, 1).equals("b"));
124       this.assertTrue(table.getResultsElement(2, 1).equals("g"));
125       this.assertTrue(table.getResultsElement(3, 1).equals("j"));
126 
127       this.assertTrue(table.getResultsElement(0, 2).equals("k"));
128       this.assertTrue(table.getResultsElement(1, 2).equals("d"));
129       this.assertTrue(table.getResultsElement(2, 2).equals("h"));
130       this.assertTrue(table.getResultsElement(3, 2).equals("p"));
131 
132       /*Order by "two" */
133      table.orderBy("two");
134      /*Assert that the metadata tags have not been reordered */
135      this.assertTrue(table.getMetaData().elementAt(0).equals("one"));
136      this.assertTrue(table.getMetaData().elementAt(1).equals("two"));
137      this.assertTrue(table.getMetaData().elementAt(2).equals("three"));
138      /*Assert that the table has been ordered */
139      this.assertTrue(table.getResultsElement(0, 1).equals("b"));
140      this.assertTrue(table.getResultsElement(1, 1).equals("g"));
141      this.assertTrue(table.getResultsElement(2, 1).equals("j"));
142      this.assertTrue(table.getResultsElement(3, 1).equals("t"));
143      /*Assert that the columns pertaining to the other metadata tags have been shifted
144      accordingly */
145      this.assertTrue(table.getResultsElement(0, 0).equals("e"));
146      this.assertTrue(table.getResultsElement(1, 0).equals("f"));
147      this.assertTrue(table.getResultsElement(2, 0).equals("i"));
148      this.assertTrue(table.getResultsElement(3, 0).equals("a"));
149 
150      this.assertTrue(table.getResultsElement(0, 2).equals("d"));
151      this.assertTrue(table.getResultsElement(1, 2).equals("h"));
152      this.assertTrue(table.getResultsElement(2, 2).equals("p"));
153      this.assertTrue(table.getResultsElement(3, 2).equals("k"));
154 
155      /*Order by "three" */
156     table.orderBy("three");
157     /*Assert that the metadata tags have not been reordered */
158     this.assertTrue(table.getMetaData().elementAt(0).equals("one"));
159     this.assertTrue(table.getMetaData().elementAt(1).equals("two"));
160     this.assertTrue(table.getMetaData().elementAt(2).equals("three"));
161     /*Assert that the table has been ordered */
162     this.assertTrue(table.getResultsElement(0, 2).equals("d"));
163     this.assertTrue(table.getResultsElement(1, 2).equals("h"));
164     this.assertTrue(table.getResultsElement(2, 2).equals("k"));
165     this.assertTrue(table.getResultsElement(3, 2).equals("p"));
166     /*Assert that the columns pertaining to the other metadata tags have been shifted
167     accordingly */
168     this.assertTrue(table.getResultsElement(0, 0).equals("e"));
169     this.assertTrue(table.getResultsElement(1, 0).equals("f"));
170     this.assertTrue(table.getResultsElement(2, 0).equals("a"));
171     this.assertTrue(table.getResultsElement(3, 0).equals("i"));
172 
173     this.assertTrue(table.getResultsElement(0, 1).equals("b"));
174     this.assertTrue(table.getResultsElement(1, 1).equals("g"));
175     this.assertTrue(table.getResultsElement(2, 1).equals("t"));
176     this.assertTrue(table.getResultsElement(3, 1).equals("j"));
177 
178     }
179     catch (TagNameNotFoundException ex) {
180       this.fail("Exception should not have been thrown");
181     }
182 
183     /*Try ordering by a non-existant metadata tag */
184     try {
185       table.orderBy("blah");
186       this.fail("Exception should have been thrown");
187     }
188     catch (TagNameNotFoundException ex1) {
189     }
190 
191   } // end of testOrderBy
192 
193 } // end of testTable Class