### Question:
ArrayPropertyValue extends InstancePropertyValue { public Object valueAsObject() { return mapValuesAsObject(arrayValues.getInstanceProperties()); } ArrayPropertyValue();  ArrayPropertyValue(ArrayPropertyValue template); InstancePropertyValue cloneFromSubclass(); String valueAsString(); Object valueAsObject(); int getArrayCount(); void setArrayCount(int arrayCount); InstanceProperties getArrayValues(); void setArrayValue(int elementNumber, InstancePropertyValue propertyValue); void setArrayValues(InstanceProperties arrayValues); @Override String toString(); @Override boolean equals(Object objectToCompare); @Override int hashCode();  }### Answer:
@Test public void testValueAsObject() { Object actual = arrayPropertyValue.valueAsObject(); Object expected = new HashMap<String, Object>() {{ put("0", "PropertyObject"); put("17", "PropertyObject"); put("88", "PropertyObject"); }}; assertEquals(actual, expected); }