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