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