Update of /var/cvs/tests/bridge/org/mmbase/bridge
In directory james.mmbase.org:/tmp/cvs-serv10111

Modified Files:
        DataTypesTest.java 
Log Message:
generics, comments, sarted on 'testClone'


See also: http://cvs.mmbase.org/viewcvs/tests/bridge/org/mmbase/bridge


Index: DataTypesTest.java
===================================================================
RCS file: /var/cvs/tests/bridge/org/mmbase/bridge/DataTypesTest.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- DataTypesTest.java  26 Jan 2009 15:50:19 -0000      1.51
+++ DataTypesTest.java  30 Apr 2009 14:13:42 -0000      1.52
@@ -28,10 +28,14 @@
     public DataTypesTest(String name) {
         super(name);
     }
-    protected static Object[] cases = null;
+    protected static Map<Class, Object[][]> casesCache = new HashMap<Class, 
Object[][]>();
+
+    private Object[][] cases;
+
 
 
     public void setUp() throws Exception {
+        cases = casesCache.get(this.getClass());
         if (cases == null) {
             Cloud cloud = getCloud();
             Node node1 = cloud.getNodeManager("datatypes");
@@ -41,7 +45,7 @@
             Node node3 = aa.createNode();
             commit(node3);
 
-            cases = new Object[] {
+            cases = new Object[][] {
                 /*            {field,
                               {valid values},
                               {invalid values}} */
@@ -122,7 +126,7 @@
                               new Object[] {new 
Double(Double.POSITIVE_INFINITY), "bla bla"
                               }},
                 new Object[] {"handle",
-                              new Object[] {new byte[] {4, 3, 2, 1}, 
getBinary(), null},
+                              new Object[] {getBinary(), null},
                               new Object[] {new byte[] {1, 2}}
                 },
                 new Object[] {"boolean",
@@ -174,6 +178,7 @@
                 */
 
             };
+            casesCache.put(this.getClass(), cases);
         }
     }
 
@@ -194,8 +199,7 @@
         Cloud cloud = getCloud();
         NodeManager nodeManager = cloud.getNodeManager("datatypes");
         StringBuffer err = new StringBuffer();
-        for (Object element : cases) {
-            Object[] kase = (Object[]) element;
+        for (Object[] kase : cases) {
             Field field = nodeManager.getField((String)kase[0]);
             Object[] validValues = (Object[]) kase[1];
             Object[] invalidValues = (Object[]) kase[2];
@@ -343,34 +347,33 @@
     public void testValidValuesCommit() {
         Cloud cloud = getCloud();
         NodeManager nodeManager = cloud.getNodeManager("datatypes");
-        for (Object element : cases) {
-            Object[] kase = (Object[]) element;
+        for (Object[] kase : cases) {
             Field field = nodeManager.getField((String)kase[0]);
             Object[] validValues = (Object[]) kase[1];
-            for (int j = 0; j < validValues.length; j++) {
+            for (Object validValue : validValues) {
                 Node newNode = nodeManager.createNode();
                 try {
-                    newNode.setValue(field.getName(), validValues[j]);
+                    newNode.setValue(field.getName(), validValue);
                     newNode.setValue(field.getName(), null);
-                    newNode.setValue(field.getName(), validValues[j]);
+                    newNode.setValue(field.getName(), validValue);
                     newNode.commit(); // should not give exception
-                    if(field.getName().equals("handle") && validValues[j] != 
null) {
+                    if(field.getName().equals("handle") && validValue != null) 
{
                         assertFalse("Checksum is null", 
newNode.isNull("checksum"));
                     }
                     if (field.getDataType().isRequired() ||
                         (
-                         validValues[j] != null &&
-                         (! (validValues[j].equals("") && (
+                         validValue != null &&
+                         (! (validValue.equals("") && (
                                                            field.getDataType() 
instanceof NumberDataType
                                                            || 
field.getDataType() instanceof NodeDataType)
                              )) && // "" for numbers and nodes may be 
interpreted as null
-                         ! (field.getDataType() instanceof NodeDataType && 
validValues[j].equals(new Integer(-1))) // -1 casts to null for node-fields.
+                         ! (field.getDataType() instanceof NodeDataType && 
validValue.equals(new Integer(-1))) // -1 casts to null for node-fields.
                          )
                          ) {
-                        assertFalse("field " + field.getName() + " was null, 
after we set '" + validValues[j] + "' in it", newNode.isNull(field.getName()));
+                        assertFalse("field " + field.getName() + " was null, 
after we set '" + validValue + "' in it", newNode.isNull(field.getName()));
                     } else {
 
-                        assertTrue("field " + field.getName() + " was not 
null, after we set '" + validValues[j] + "' in it", 
newNode.isNull(field.getName()));
+                        assertTrue("field " + field.getName() + " was not 
null, after we set '" + validValue + "' in it", 
newNode.isNull(field.getName()));
                     }
                     if (! field.getDataType().isRequired()) {
                         // so, it must be possible to set field back to null.
@@ -383,12 +386,12 @@
                     if (! field.getDataType().isRequired()) {
                         assertNull(newNode.getValue(field.getName()));
                         assertTrue(newNode.isNull(field.getName()));
-                    }
                     if(field.getName().equals("handle")) {
-                        assertTrue(newNode.isNull("checksum"));
+                            assertTrue("valid value: '" + validValue + "' 
checksum of " + newNode.getNumber() + " is " + newNode.getValue("checksum") + " 
but expected null", newNode.isNull("checksum"));
+                        }
                     }
                 } catch (Throwable t) {
-                    AssertionFailedError fail = new 
AssertionFailedError("During field " + field + " of " + newNode + " value: '" + 
validValues[j] + "'");
+                    AssertionFailedError fail = new 
AssertionFailedError("During field " + field + " of " + newNode.getNumber() + " 
value: '" + validValue + "' " + t.getMessage());
                     fail.initCause(t);
                     throw fail;
                 }
@@ -438,6 +441,8 @@
     }
 
 
+    // There is a unique constraint on checksum.
+    // This method is overriden in -Transaction extension, to avoid the unique 
constraint exception
     protected  byte[] getBinary() {
         return new byte[] {1, 2, 3, 4};
     }
@@ -536,4 +541,13 @@
 
     }
 
+    public void testClone() {
+        Cloud cloud = getCloud();
+        NodeManager nm = cloud.getNodeManager("datatypes");
+        DataType dt = nm.getField("lastmodifier").getDataType();
+        //assertEquals(dt.getGUIName(), "lastmodifier");
+    }
+
+
+
 }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to