1   /*
2    * joey-gen and its relative products are published under the terms
3    * of the Apache Software License.
4    * 
5    * Created on 2004/08/10 17:36:30
6    */
7   package test.org.asyrinx.joey.gen.model.rdb;
8   
9   import java.util.Iterator;
10  
11  import junit.framework.TestCase;
12  
13  import org.asyrinx.joey.gen.model.rdb.Column;
14  import org.asyrinx.joey.gen.model.rdb.ColumnSet;
15  
16  /***
17   * @author akima
18   */
19  public class ColumnSetTest extends TestCase {
20  
21      public static void main(String[] args) {
22          junit.swingui.TestRunner.run(ColumnSetTest.class);
23      }
24  
25      /***
26       * Constructor for ColumnSetTest.
27       * 
28       * @param name
29       */
30      public ColumnSetTest(String name) {
31          super(name);
32      }
33  
34      private ColumnSet columnSet = null;
35  
36      private Column col1;
37  
38      private Column col2;
39  
40      /***
41       * @see TestCase#setUp()
42       */
43      protected void setUp() throws Exception {
44          this.columnSet = new ColumnSet(null);
45          col1 = new Column();
46          col1.setName("sample_id");
47          col1.setLabel("ID");
48          col1.setType("long");
49          col1.setPrimaryKey(true);
50          columnSet.add(col1);
51          col2 = new Column();
52          col2.setName("name");
53          col2.setLabel("名前");
54          col2.setType("VARCHAR");
55          col2.setSize("30");
56          columnSet.add(col2);
57      }
58  
59      public void testAdd() {
60          try {
61              columnSet.add(null);
62              fail();
63          } catch (NullPointerException e) {
64              //NullPointerException がthrowされないとだめ
65          }
66          //
67          final Column col = new Column();
68          col.setName("update_date");
69          col.setLabel("更新日時");
70          col.setType("DATE");
71          columnSet.add(col);
72          assertEquals(3, columnSet.size());
73          assertEquals(2, columnSet.indexOf("update_date"));
74          assertEquals(col, columnSet.getColumn("update_date"));
75      }
76  
77      public void testClear() {
78          columnSet.clear();
79          assertEquals(true, columnSet.isEmpty());
80          assertEquals(0, columnSet.size());
81      }
82  
83      /*
84       * Class under test for boolean contains(String)
85       */
86      public void testContainsString() {
87          assertEquals(true, columnSet.contains("sample_id"));
88          assertEquals(true, columnSet.contains("name"));
89          assertEquals(false, columnSet.contains("non_exist_col"));
90          assertEquals(false, columnSet.contains((String) null));
91      }
92  
93      /*
94       * Class under test for boolean contains(Column)
95       */
96      public void testContainsColumn() {
97          assertEquals(true, columnSet.contains(col1));
98          assertEquals(true, columnSet.contains(col2));
99          assertEquals(false, columnSet.contains(new Column()));
100         assertEquals(false, columnSet.contains((Column) null));
101     }
102 
103     public void testGet() {
104         assertEquals(col1, columnSet.getColumn("sample_id"));
105         assertEquals(col2, columnSet.getColumn("name"));
106         assertEquals(null, columnSet.getColumn("non_exist_col"));
107     }
108 
109     public void testIndexOf() {
110         assertEquals(0, columnSet.indexOf("sample_id"));
111         assertEquals(1, columnSet.indexOf("name"));
112     }
113 
114     public void testIsEmpty() {
115         assertEquals(false, columnSet.isEmpty());
116         columnSet.clear();
117         assertEquals(true, columnSet.isEmpty());
118         assertEquals(true, new ColumnSet(null).isEmpty());
119     }
120 
121     public void testIterator() {
122         final Iterator iterator = columnSet.iterator();
123         assertEquals(true, iterator.hasNext());
124         assertEquals(col1, iterator.next());
125         assertEquals(true, iterator.hasNext());
126         assertEquals(col2, iterator.next());
127         assertEquals(false, iterator.hasNext());
128     }
129 
130     public void testRemove() {
131         columnSet.removeColumn("non_exist_col");
132         assertEquals(2, columnSet.size());
133         assertEquals(col1, columnSet.getColumn("sample_id"));
134         assertEquals(col2, columnSet.getColumn("name"));
135         //
136         columnSet.removeColumn("name");
137         assertEquals(1, columnSet.size());
138         assertEquals(col1, columnSet.getColumn("sample_id"));
139         assertEquals(null, columnSet.getColumn("name"));
140     }
141 
142     public void testSize() {
143         assertEquals(2, columnSet.size());
144     }
145 
146 }