1
2
3
4
5
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
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 }