|
From: Dave B. <bla...@us...> - 2012-12-04 19:40:18
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30797/utst/org/sblim/cimclient/unittest/cim Modified Files: Tag: Experimental CIMDataTypeTest.java Log Message: 3592502 Enhance CIMDataType unit test Index: CIMDataTypeTest.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/cim/CIMDataTypeTest.java,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -d -r1.1.2.3 -r1.1.2.4 --- CIMDataTypeTest.java 31 Mar 2012 15:39:41 -0000 1.1.2.3 +++ CIMDataTypeTest.java 4 Dec 2012 19:40:16 -0000 1.1.2.4 @@ -14,11 +14,20 @@ * ------------------------------------------------------------------------------- * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 * 3513349 2012-03-31 blaschke-oss TCK: CIMDataType must not accept null string + * 3592502 2012-12-04 blaschke-oss Enhance CIMDataType unit test */ package org.sblim.cimclient.unittest.cim; +import javax.cim.CIMClass; import javax.cim.CIMDataType; +import javax.cim.CIMDateTime; +import javax.cim.CIMInstance; +import javax.cim.CIMObjectPath; +import javax.cim.UnsignedInteger16; +import javax.cim.UnsignedInteger32; +import javax.cim.UnsignedInteger64; +import javax.cim.UnsignedInteger8; import org.sblim.cimclient.internal.cim.CIMHelper; import org.sblim.cimclient.unittest.TestCase; @@ -28,6 +37,10 @@ */ public class CIMDataTypeTest extends TestCase { + private static final String REF_CLASS = "SampleClass"; + + private static final int ARRAY_SIZE = 4; + private CIMDataType CIMScalarDataTypes[] = { /* 00 */CIMDataType.UINT8_T, /* 01 */CIMDataType.SINT8_T, @@ -60,6 +73,7 @@ } else { verify("Scalar data type #" + i + " does not match: " + type1.toString() + " != " + type2.toString(), type1.equals(type2)); + verify("Scalar data type #" + i + " fails isArray()", type1.isArray() == false); } } } @@ -96,6 +110,9 @@ } else { verify("Unbounded array data type #" + i + " does not match: " + type1.toString() + " != " + type2.toString(), type1.equals(type2)); + verify("Unbounded array data type #" + i + " fails isArray()", + type1.isArray() == true); + verify("Unbounded array data type #" + i + " fails getSize()", type1.getSize() == 0); } } } @@ -105,11 +122,159 @@ */ public void testBoundedArrayDataTypes() { for (int i = 0; i < this.CIMArrayDataTypes.length; i++) { - CIMDataType type1 = new CIMDataType(i, 1); + CIMDataType type1 = new CIMDataType(i, ARRAY_SIZE); CIMDataType type2 = CIMHelper.UnboundedArrayDataType(i); - if (type2 != null) verify("Bounded array data type #" + i + " does not match: " - + type1.getType() + " != " + type2.getType(), type1.getType() == type2 - .getType()); + if (type2 != null) { + verify("Bounded array data type #" + i + " does not match: " + type1.getType() + + " != " + type2.getType(), type1.getType() == type2.getType()); + verify("Bounded array data type #" + i + " fails isArray()", + type1.isArray() == true); + verify("Bounded array data type #" + i + " fails getSize()", + type1.getSize() == ARRAY_SIZE); + } + } + } + + /** + * testReferenceType + */ + public void testReferenceType() { + CIMDataType type = new CIMDataType(REF_CLASS); + verify("Scalar reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != " + REF_CLASS, type.getRefClassName().compareTo( + REF_CLASS) == 0); + verify("Scalar reference data type getType() should not be " + type.getType(), type + .getType() == CIMDataType.REFERENCE); + verify("Scalar reference data type isArray() should not be " + type.isArray(), type + .isArray() == false); + + type = new CIMDataType(REF_CLASS, 0); + verify("Unbounded array reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != " + REF_CLASS, type.getRefClassName().compareTo( + REF_CLASS) == 0); + verify("Unbounded array reference data type getType() should not be " + type.getType(), + type.getType() == CIMDataType.REFERENCE); + verify("Unbounded array reference data type isArray() should not be " + type.isArray(), + type.isArray() == true); + verify("Unbounded array reference data type getSize() should not be " + type.getSize(), + type.getSize() == 0); + + type = new CIMDataType(REF_CLASS, ARRAY_SIZE); + verify("Bounded array reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != " + REF_CLASS, type.getRefClassName().compareTo( + REF_CLASS) == 0); + verify("Bounded array reference data type getType() should not be " + type.getType(), type + .getType() == CIMDataType.REFERENCE); + verify("Bounded array reference data type isArray() should not be " + type.isArray(), type + .isArray() == true); + verify("Bounded array reference data type getSize() should not be " + type.getSize(), type + .getSize() == ARRAY_SIZE); + + type = new CIMDataType(""); + verify("Empty scalar reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != \"\"", type.getRefClassName().compareTo("") == 0); + verify("Empty scalar reference data type getType() should not be " + type.getType(), type + .getType() == CIMDataType.REFERENCE); + verify("Empty scalar reference data type isArray() should not be " + type.isArray(), type + .isArray() == false); + + try { + type = new CIMDataType(null); + verify("Null scalar reference data type did not result in exception", false); + } catch (Exception e) { + verify("Null scalar reference data type did not result in IllegalArgumentException", + e instanceof IllegalArgumentException); + } + + type = new CIMDataType("", 0); + verify("Empty unbounded array reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != \"\"", type.getRefClassName().compareTo("") == 0); + verify("Empty unbounded array reference data type getType() should not be " + + type.getType(), type.getType() == CIMDataType.REFERENCE); + verify("Empty unbounded array reference data type isArray() should not be " + + type.isArray(), type.isArray() == true); + verify("Empty unbounded array reference data type getSize() should not be " + + type.getSize(), type.getSize() == 0); + + try { + type = new CIMDataType(null, 0); + verify("Null unbounded array reference data type did not result in exception", false); + } catch (Exception e) { + verify( + "Null unbounded array reference data type did not result in IllegalArgumentException", + e instanceof IllegalArgumentException); + } + + type = new CIMDataType("", ARRAY_SIZE); + verify("Empty bounded array reference data type getRefClassName() does not match: " + + type.getRefClassName() + " != \"\"", type.getRefClassName().compareTo("") == 0); + verify("Empty bounded array reference data type getType() should not be " + type.getType(), + type.getType() == CIMDataType.REFERENCE); + verify("Empty bounded array reference data type isArray() should not be " + type.isArray(), + type.isArray() == true); + verify("Empty bounded array reference data type getSize() should not be " + type.getSize(), + type.getSize() == ARRAY_SIZE); + + try { + type = new CIMDataType(null, ARRAY_SIZE); + verify("Null bounded array reference data type did not result in exception", false); + } catch (Exception e) { + verify( + "Null bounded array reference data type did not result in IllegalArgumentException", + e instanceof IllegalArgumentException); + } + } + + private CIMObjectPath[] copA = { new CIMObjectPath( + "http://1.2.3.4:5/root/cimv2:My_ComputerSystem") }; + + private Object ArrayDataTypes[] = { + /* 00 */new UnsignedInteger8[1], + /* 01 */new Byte[1], + /* 02 */new UnsignedInteger16[1], + /* 03 */new Short[1], + /* 04 */new UnsignedInteger32[1], + /* 05 */new Integer[1], + /* 06 */new UnsignedInteger64[1], + /* 07 */new Long[1], + /* 08 */new String[1], + /* 09 */new Boolean[1], + /* 10 */new Float[1], + /* 11 */new Double[1], + /* 12 */new CIMDateTime[1], + /* 13 */new Character[1], + /* 14 */this.copA, + /* 15 */new CIMInstance[1], + /* 16 */null, + /* 17 */new CIMClass[1] }; + + /** + * testGetDataType + */ + public void testGetDataType() { + CIMDataType type; + for (int i = 0; i < this.ArrayDataTypes.length; i++) { + if (this.ArrayDataTypes[i] != null) { + type = CIMDataType.getDataType(this.ArrayDataTypes[i]); + verify("Array data type #" + i + " does not match: " + type.getType() + " != " + i, + type.getType() == i); + } + } + + try { + type = CIMDataType.getDataType(null); + verify("Null data type did not result in exception", false); + } catch (Exception e) { + verify("Null data type did not result in IllegalArgumentException", + e instanceof IllegalArgumentException); + } + + try { + type = CIMDataType.getDataType(new StringBuffer()); + verify("Bad data type did not result in exception", false); + } catch (Exception e) { + verify("Bad data type did not result in IllegalArgumentException", + e instanceof IllegalArgumentException); } } } |