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/16 0:18:36
6    */
7   package test.org.asyrinx.joey.gen.command.rdb;
8   
9   import junit.framework.TestCase;
10  
11  import org.asyrinx.joey.gen.command.rdb.BasicNaming;
12  import org.asyrinx.joey.gen.model.rdb.Column;
13  import org.asyrinx.joey.gen.model.rdb.Database;
14  import org.asyrinx.joey.gen.model.rdb.ForeignKey;
15  import org.asyrinx.joey.gen.model.rdb.ForeignKeyEntry;
16  import org.asyrinx.joey.gen.model.rdb.Index;
17  import org.asyrinx.joey.gen.model.rdb.IndexEntry;
18  import org.asyrinx.joey.gen.model.rdb.Table;
19  
20  /***
21   * @author akima
22   */
23  public class BasicNamingTest extends TestCase {
24  
25      public static void main(String[] args) {
26          junit.swingui.TestRunner.run(BasicNamingTest.class);
27      }
28  
29      /*
30       * Class under test for void visit(ForeignKey)
31       */
32      public void testVisitForeignKey() {
33          final Database database = new Database();
34          final Table table1 = new Table(database, "table1");
35          new Column(table1, "col1-1", "int");
36          new Column(table1, "col1-2", "int");
37          new Column(table1, "col1-3", "int");
38          final Index index1_1 = new Index(table1, "named_index_1");
39          index1_1.add(new IndexEntry("col1-2"));
40          final Index index1_2 = new Index(table1);
41          index1_2.add(new IndexEntry("col1-3"));
42          index1_2.add(new IndexEntry("col1-1"));
43          //
44          final Table table2 = new Table(database, "table2");
45          new Column(table2, "col2-1", "int");
46          new Column(table2, "col2-2", "int");
47          new Column(table2, "col2-3", "int");
48          final ForeignKey foreignKey2_1 = new ForeignKey(table2, table1.getName());
49          foreignKey2_1.add(new ForeignKeyEntry("col2-1", "col1-1"));
50          final Index index2_1 = new Index(table2);
51          index2_1.add(new IndexEntry("col2-1"));
52          foreignKey2_1.setIndex(index2_1);
53          final ForeignKey foreignKey2_2 = new ForeignKey(table2, "named_fk", table1.getName());
54          foreignKey2_2.add(new ForeignKeyEntry("col2-2", "col1-2"));
55          foreignKey2_2.add(new ForeignKeyEntry("col2-3", "col1-3"));
56          //
57          new BasicNaming().execute(database);
58          //
59          assertEquals(index1_1, table1.getIndexes().getIndex("named_index_1"));
60          assertEquals(index1_2, table1.getIndexes().getIndex("i_table1_2"));
61          //
62          assertEquals(foreignKey2_1, table2.getForeignKeys().getForeignKey("f_table2_1"));
63          assertEquals(foreignKey2_2, table2.getForeignKeys().getForeignKey("named_fk"));
64          assertEquals(index2_1, table2.getIndexes().getIndex("i_f_table2_1"));
65      }
66  
67  }