You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2009/02/02 14:08:33 UTC

svn commit: r739987 - /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java

Author: aadamchik
Date: Mon Feb  2 13:08:33 2009
New Revision: 739987

URL: http://svn.apache.org/viewvc?rev=739987&view=rev
Log:
adding unit tests for rop single table inheritance

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java?rev=739987&r1=739986&r2=739987&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/CayenneContextInheritanceTest.java Mon Feb  2 13:08:33 2009
@@ -22,6 +22,7 @@
 
 import org.apache.cayenne.access.ClientServerChannel;
 import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.remote.ClientChannel;
@@ -55,6 +56,28 @@
         return new CayenneContext(clientChannel);
     }
 
+    public void testInsertSubclass() {
+        CayenneContext context = createClientContext();
+
+        ClientMtTable1Subclass object = context.newObject(ClientMtTable1Subclass.class);
+        object.setGlobalAttribute1("sub1");
+        object.setServerAttribute1("sa1");
+        object.setSubclassAttribute1("suba1");
+
+        context.commitChanges();
+
+        ObjectContext checkContext = createDataContext();
+        SQLTemplate query = new SQLTemplate(MtTable1.class, "SELECT * FROM MT_TABLE1");
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setFetchingDataRows(true);
+        
+        List<DataRow> rows = checkContext.performQuery(query);
+        assertEquals(1, rows.size());
+        assertEquals("sub1", rows.get(0).get("GLOBAL_ATTRIBUTE1"));
+        assertEquals("sa1", rows.get(0).get("SERVER_ATTRIBUTE1"));
+        assertEquals("suba1", rows.get(0).get("SUBCLASS_ATTRIBUTE1"));
+    }
+
     public void testPerformQueryInheritanceLeaf() {
 
         ObjectContext setupContext = createDataContext();
@@ -106,7 +129,7 @@
         assertEquals("sa1", ((ClientMtTable1Subclass) objects.get(1))
                 .getSubclassAttribute1());
     }
-    
+
     public void testPerformQueryWithQualifierInheritanceSuper() {
 
         ObjectContext setupContext = createDataContext();
@@ -126,7 +149,9 @@
         CayenneContext context = createClientContext();
 
         SelectQuery query = new SelectQuery(ClientMtTable1.class);
-        query.andQualifier(ExpressionFactory.likeExp(ClientMtTable1.SERVER_ATTRIBUTE1_PROPERTY, "X%"));
+        query.andQualifier(ExpressionFactory.likeExp(
+                ClientMtTable1.SERVER_ATTRIBUTE1_PROPERTY,
+                "X%"));
         List<ClientMtTable1> objects = context.performQuery(query);
 
         assertEquals(2, objects.size());