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 15:56:28
6    */
7   package test.org.asyrinx.joey.gen.model.rdb;
8   
9   import org.asyrinx.joey.gen.command.rdb.MergeDatabases;
10  import org.asyrinx.joey.gen.model.rdb.Database;
11  import org.asyrinx.joey.gen.model.rdb.Databases;
12  import org.asyrinx.joey.gen.model.rdb.Table;
13  
14  import junit.framework.TestCase;
15  
16  /***
17   * @author akima
18   */
19  public class DatabasesTest extends TestCase {
20  
21      public static void main(String[] args) {
22          junit.swingui.TestRunner.run(DatabasesTest.class);
23      }
24  
25      public void testMergeDuplicates() {
26          final Databases databases = new Databases();
27          final Database db1 = new Database(databases, "db1");
28          final Database db1_1 = new Database(databases, "db1");
29          final Database db2 = new Database(databases, "db2");
30          //
31          db1.getTables().add(new Table("t1_1"));
32          db1.getTables().add(new Table("t1_2"));
33          db1_1.getTables().add(new Table("t1_3"));
34          db1_1.getTables().add(new Table("t1_4"));
35          db2.getTables().add(new Table("t2_1"));
36          db2.getTables().add(new Table("t2_2"));
37          //
38          new MergeDatabases().execute(databases);
39          //
40          assertEquals(2, databases.getDatabases().size());
41          assertEquals(db1, databases.getDatabases().getDatabase(0));
42          assertEquals(db2, databases.getDatabases().getDatabase(1));
43          //
44          assertEquals(4, db1.getTables().size());
45          assertEquals("t1_1", db1.getTables().getTable(0).getName());
46          assertEquals("t1_2", db1.getTables().getTable(1).getName());
47          assertEquals("t1_3", db1.getTables().getTable(2).getName());
48          assertEquals("t1_4", db1.getTables().getTable(3).getName());
49          assertEquals("t2_1", db2.getTables().getTable(0).getName());
50          assertEquals("t2_2", db2.getTables().getTable(1).getName());
51      }
52  }