TestResult tr = new TestResult();
tr.setDescription("Change an enum parameter in a complex connected object from null to a value");
VeryComplexObjectEnumParameterEnum testEnumValue = VeryComplexObjectEnumParameterEnum.BAR;
//Test Setup
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
complexObject = new VeryComplexObject();
complexObject.setEnumParameter(testEnumValue);
if (complexConnectedObject.getEnumParameter() != null) {
updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, null);
}
assertEquals(tr, 0, null, complexConnectedObject.getEnumParameter(), "TestSetup requires ComplexConnectedObject.enumParameter = null");
//Test Steps
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject), "Update ComplexConnectedObject.enumParameter = " + testEnumValue);
assertEquals(tr, ++stepCount, testEnumValue.name(), complexConnectedObject.getEnumParameter());
results.add(tr);
}
{
//Test Data
int stepCount = 0;
TestResult tr = new TestResult();
tr.setDescription("Change an enum parameter in a complex connected object from a value to another value");
VeryComplexObjectEnumParameterEnum testEnumValue = VeryComplexObjectEnumParameterEnum.FOOBAR;
//Test Setup
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
complexObject = new VeryComplexObject();
complexObject.setEnumParameter(testEnumValue);
if(complexConnectedObject.getEnumParameter() == null || complexConnectedObject.getEnumParameter().equals(testEnumValue.name()))
{
VeryComplexObject setupComplexObject = new VeryComplexObject();
if (testEnumValue == VeryComplexObjectEnumParameterEnum.BAR) {
setupComplexObject.setEnumParameter(VeryComplexObjectEnumParameterEnum.FOOBAR);
}
else {
setupComplexObject.setEnumParameter(VeryComplexObjectEnumParameterEnum.BAR);
}
updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, setupComplexObject);
}
assertNotNull(tr, 0, complexConnectedObject.getEnumParameter(), "TestSetup requires ComplexConnectedObject.enumParameter != null");
assertTrue(tr, 0, !complexConnectedObject.getEnumParameter().equals(testEnumValue.name()), "TestSetup requires complexConnectedObject.enumParameter != " + testEnumValue);
//Test Steps
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject), "Update complexConnectedObject.enumParameter = " + testEnumValue);
assertEquals(tr, ++stepCount, testEnumValue.name(), complexConnectedObject.getEnumParameter(), "After Update complexConnectedObject.enumParameter");
results.add(tr);
}
{
//Test Data
int stepCount = 0;
TestResult tr = new TestResult();
tr.setDescription("Change an enum parameter in a complex connected object from a value to null");
//Test Setup
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
complexObject = new VeryComplexObject();
complexObject.setEnumParameter(null);
if (complexConnectedObject.getEnumParameter() == null) {
VeryComplexObject setupComplexObject = new VeryComplexObject();
setupComplexObject.setEnumParameter(VeryComplexObjectEnumParameterEnum.FOOBAR);
updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, setupComplexObject);
}
assertNotNull(tr, 0, complexConnectedObject.getEnumParameter(), "TestSetup requires ComplexConnectedObject.enumParameter != null");
//Test Steps
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject), "Update complexConnectedObj.enumParameter = null");
assertEquals(tr, ++stepCount, null, complexConnectedObject.getEnumParameter(), "After Update complexConnectedObject.enumParameter");
results.add(tr);
}
{
//Test Data
int stepCount = 0;
TestResult tr = new TestResult();
tr.setDescription("Add an item to each top level collection in a complex connected object");
String testChildObjectKey = "ChildObjectKey 1";
String testChildObjectItemId1 = "lessComplex Id 1";
String testChildObjectItemType1 = "lessComplex SimpleType 1";
LessComplexObject testChildObject = new LessComplexObject();
testChildObject.setId(testChildObjectItemId1);
testChildObject.setSimpleType(testChildObjectItemType1);
complexObject = new VeryComplexObject();
complexObject.setMap(new HashMap<String, LessComplexObject>());
complexObject.getMap().put(testChildObjectKey, testChildObject);
complexObject.setSet(new HashSet<LessComplexObject>());
complexObject.getSet().add(testChildObject);
complexObject.setList(new ArrayList<LessComplexObject>());
complexObject.getList().add(testChildObject);
//Test Setup
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
//Test Steps
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject), "Add complexConnectedObject[" + testChildObjectKey +"]"
+ ".HashMap / .HashSet / .ArrayList values (" + testChildObjectItemId1 + "," + testChildObjectItemType1 + ")" );
assertEquals(tr, ++stepCount, 1, getSize(complexConnectedObject.getMap()), "After Add complexConnectedObject.map.Count");
assertEquals(tr, ++stepCount, testChildObjectItemId1, complexConnectedObject.getMap().get(testChildObjectKey).getId(), "After Add complexConnectedObject.map[" + testChildObjectItemId1 + "].id");
assertEquals(tr, ++stepCount, testChildObjectItemType1, complexConnectedObject.getMap().get(testChildObjectKey).getSimpleType(), "After Add complexConnectedObject.map[" + testChildObjectItemId1 + "].simpleType");
assertEquals(tr, ++stepCount, 1, getSize(complexConnectedObject.getSet()), "After Add complexConnectedObject.set.Count");
assertEquals(tr, ++stepCount, testChildObjectItemId1, complexConnectedObject.getSet().iterator().next().getId(), "After Add complexConnectedObject.set[" + testChildObjectItemId1 + "].id");
assertEquals(tr, ++stepCount, testChildObjectItemType1, complexConnectedObject.getSet().iterator().next().getSimpleType(), "After Add complexConnectedObject.set[" + testChildObjectItemId1 + "].simpleType");
assertEquals(tr, ++stepCount, 1, getSize(complexConnectedObject.getList()), "After Add complexConnectedObject.list.Count");
assertEquals(tr, ++stepCount, testChildObjectItemId1, complexConnectedObject.getList().get(0).getId(), "After Add complexConnectedObject.list[" + testChildObjectItemId1 + "].id");
assertEquals(tr, ++stepCount, testChildObjectItemType1, complexConnectedObject.getList().get(0).getSimpleType(), "After Add complexConnectedObject.list[" + testChildObjectItemId1 + "].simpleType");
results.add(tr);
}
{
//Test Data
int stepCount = 0;
TestResult tr = new TestResult();
tr.setDescription("Simple mutation of each top level collection in a complex connected object");
String testChildObjectKey = "ChildObjectKey 1";
String randNumber = "_" + (Math.random() * 100 + 1);
String testChildObjectMapId = "";
String testChildObjectMapType = "modified lessComplex Map SimpleType" + randNumber;
String testChildObjectSetId = "";
String testChildObjectSetType = "modified lessComplex Set SimpleType" + randNumber;
String testChildObjectListId = "";
String testChildObjectListType = "modified lessComplex List SimpleType" + randNumber;
//Test Setup
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
//Get a copy of the Existing VeryComplexObject (so we can query the existing Map, Set & List)
VeryComplexObject existingVeryComplexObj = getVeryComplexObject(complexConnectedObject);
//If Existing VeryComplexObject does not contain a MAP, SET or LIST is set to null or does not contain at least 1 item create it (or them) with 1 item
if (existingVeryComplexObj.getMap().size() < 1 || existingVeryComplexObj.getSet().size() < 1 || existingVeryComplexObj.getList().size() < 1) {
LessComplexObject testSetupChildObject = new LessComplexObject();
testSetupChildObject.setId("testSetup Id");
testSetupChildObject.setSimpleType("testSetup Type");
if (existingVeryComplexObj.getMap().size() < 1) {
existingVeryComplexObj.setMap(new HashMap<String, LessComplexObject>());
existingVeryComplexObj.getMap().put(testChildObjectKey, testSetupChildObject);
}
if (existingVeryComplexObj.getSet().size() < 1) {
existingVeryComplexObj.setSet(new HashSet<LessComplexObject>());
existingVeryComplexObj.getSet().add(testSetupChildObject);
}
if (existingVeryComplexObj.getList().size() < 1) {
existingVeryComplexObj.setList(new ArrayList<LessComplexObject>());
existingVeryComplexObj.getList().add(testSetupChildObject);
}
updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, existingVeryComplexObj);
}
//Check the Test Entry Criteria
assertTrue(tr, 0, (existingVeryComplexObj.getMap().size() > 0), "TestSetup requires complexConnectedObject.map.Count > 0" );
assertTrue(tr, 0, (existingVeryComplexObj.getSet().size() > 0), "TestSetup requires complexConnectedObject.set.Count > 0" );
assertTrue(tr, 0, (existingVeryComplexObj.getList().size() > 0), "TestSetup requires complexConnectedObject.list.Count > 0" );
//Set the complexObject (used within the UpdateCall) to have existing Keys for the MAP, SET & List, but with modified SimpleTypes
testChildObjectMapId = complexConnectedObject.getMap().get(complexConnectedObject.getMap().keySet().iterator().next()).getId();
testChildObjectSetId = complexConnectedObject.getSet().iterator().next().getId();
testChildObjectListId = complexConnectedObject.getList().get(0).getId();
LessComplexObject testChildObject = new LessComplexObject();
testChildObject.setId(testChildObjectMapId);
testChildObject.setSimpleType(testChildObjectMapType);
complexObject.setMap(new HashMap<String, LessComplexObject>());
complexObject.getMap().put(testChildObjectMapId, testChildObject);
testChildObject = new LessComplexObject();
testChildObject.setId(testChildObjectSetId);
testChildObject.setSimpleType(testChildObjectSetType);
complexObject.setSet(new HashSet<LessComplexObject>());
complexObject.getSet().add(testChildObject);
testChildObject = new LessComplexObject();
testChildObject.setId(testChildObjectListId);
testChildObject.setSimpleType(testChildObjectListType);
complexObject.setList(new ArrayList<LessComplexObject>());
complexObject.getList().add(testChildObject);
//Test Steps
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject), "Update complexConnectedObject.map/ .set /.list, with new Key and LessComplexObject");
assertEquals(tr, ++stepCount, existingVeryComplexObj.getMap().size(), getSize(complexConnectedObject.getMap()), "After Update complexConnectedObject.map.Count");
assertEquals(tr, ++stepCount, testChildObjectMapId, complexConnectedObject.getMap().get(testChildObjectMapId).getId(), "After Updated complexConnectedObject.map["+ testChildObjectMapId +"].id");
assertEquals(tr, ++stepCount, testChildObjectMapType, complexConnectedObject.getMap().get(testChildObjectMapId).getSimpleType(), "After Updated complexConnectedObject.map["+ testChildObjectMapId +"]simpleType");
assertEquals(tr, ++stepCount, existingVeryComplexObj.getSet().size(), getSize(complexConnectedObject.getSet()), "After Updated complexConnectedObject.set.Count");
assertEquals(tr, ++stepCount, testChildObjectSetId, complexConnectedObject.getSet().iterator().next().getId(), "After Updated complexConnectedObject.set[0].id");
assertEquals(tr, ++stepCount, testChildObjectSetType, complexConnectedObject.getSet().iterator().next().getSimpleType(), "After Updated complexConnectedObject.set[0].type");
assertEquals(tr, ++stepCount, existingVeryComplexObj.getList().size(), getSize(complexConnectedObject.getList()), "After Updated complexConnectedObject.list.Count");
assertEquals(tr, ++stepCount, testChildObjectListId, complexConnectedObject.getList().get(0).getId(), "After Updated complexConnectedObject.list[0].id");
assertEquals(tr, ++stepCount, testChildObjectListType, complexConnectedObject.getList().get(0).getSimpleType(), "After Updated complexConnectedObject.list[0].id");
results.add(tr);
}
{
int stepCount = 0;
TestResult tr = new TestResult();
tr.setDescription("Complex mutation of each of those items");
// map
LessComplexObject child = new LessComplexObject();
child.setMap(new HashMap<String, Date>());
child.setSet(new HashSet<Integer>());
child.setList(new ArrayList<Double>());
child.setId("2");
child.setSimpleType("SimpleType2");
child.getMap().put("aa", new Date(1000L));
child.getMap().put("bb", new Date(2000L));
child.getSet().add(3);
child.getSet().add(5);
child.getList().add(1.5);
child.getList().add(22.5);
complexObject.setMap(new HashMap<String, LessComplexObject>());
complexObject.getMap().put("a", child);
complexObject.getMap().put("b", child);
complexObject.getMap().put("c", child);
complexObject.getMap().put("d", child);
// set
child = new LessComplexObject();
child.setMap(new HashMap<String, Date>());
child.setSet(new HashSet<Integer>());
child.setList(new ArrayList<Double>());
child.setId("3");
child.setSimpleType("SimpleType3");
child.getMap().put("cc", new Date(Long.MIN_VALUE));
child.getMap().put("dd", new Date(Long.MAX_VALUE));
child.getSet().add(Integer.MAX_VALUE);
child.getSet().add(Integer.MIN_VALUE);
child.getList().add(Double.MAX_VALUE);
child.getList().add(Double.MIN_VALUE);
complexObject.setSet(new HashSet<LessComplexObject>());
complexObject.getSet().add(child);
// list
child = new LessComplexObject();
child.setMap(new HashMap<String, Date>());
child.setSet(new HashSet<Integer>());
child.setList(new ArrayList<Double>());
child.setId("4");
child.setSimpleType("SimpleType4");
child.getMap().put("ee", new Date(1234L));
long now = System.currentTimeMillis();
child.getMap().put("ff", new Date(now));
child.getSet().add(666);
child.getSet().add(0);
child.getList().add(0.0);
child.getList().add(-1.0);
complexObject.setList(new ArrayList<LessComplexObject>());
complexObject.getList().add(child);
complexObject.getList().add(child);
complexObject.getList().add(child);
// enum
complexObject.setEnumParameter(VeryComplexObjectEnumParameterEnum.BAR);
assertEquals(tr, ++stepCount, true, updateComplexConnectedObject(client, complexConnectedObjectHeap, ctx, complexObject));
VeryComplexObjectCO complexConnectedObject = VeryComplexObjectClientCO.rootFrom(complexConnectedObjectHeap);
// map
assertEquals(tr, ++stepCount, 4, getSize(complexConnectedObject.getMap()));
assertEquals(tr, ++stepCount, "2", complexConnectedObject.getMap().get("a").getId());
assertEquals(tr, ++stepCount, "SimpleType2", complexConnectedObject.getMap().get("a").getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("a").getMap()));
assertEquals(tr, ++stepCount, new Date(1000L), complexConnectedObject.getMap().get("a").getMap().get("aa"));
assertEquals(tr, ++stepCount, new Date(2000L), complexConnectedObject.getMap().get("a").getMap().get("bb"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("a").getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getMap().get("a").getSet(), 3, 5);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("a").getList()));
assertEquals(tr, ++stepCount, 1.5, complexConnectedObject.getMap().get("a").getList().get(0));
assertEquals(tr, ++stepCount, 22.5, complexConnectedObject.getMap().get("a").getList().get(1));
assertEquals(tr, ++stepCount, "2", complexConnectedObject.getMap().get("b").getId());
assertEquals(tr, ++stepCount, "SimpleType2", complexConnectedObject.getMap().get("b").getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("b").getMap()));
assertEquals(tr, ++stepCount, new Date(1000L), complexConnectedObject.getMap().get("b").getMap().get("aa"));
assertEquals(tr, ++stepCount, new Date(2000L), complexConnectedObject.getMap().get("b").getMap().get("bb"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("b").getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getMap().get("b").getSet(), 3, 5);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("b").getList()));
assertEquals(tr, ++stepCount, 1.5, complexConnectedObject.getMap().get("b").getList().get(0));
assertEquals(tr, ++stepCount, 22.5, complexConnectedObject.getMap().get("b").getList().get(1));
assertEquals(tr, ++stepCount, "2", complexConnectedObject.getMap().get("c").getId());
assertEquals(tr, ++stepCount, "SimpleType2", complexConnectedObject.getMap().get("c").getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("c").getMap()));
assertEquals(tr, ++stepCount, new Date(1000L), complexConnectedObject.getMap().get("c").getMap().get("aa"));
assertEquals(tr, ++stepCount, new Date(2000L), complexConnectedObject.getMap().get("c").getMap().get("bb"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("c").getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getMap().get("c").getSet(), 3, 5);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("c").getList()));
assertEquals(tr, ++stepCount, 1.5, complexConnectedObject.getMap().get("c").getList().get(0));
assertEquals(tr, ++stepCount, 22.5, complexConnectedObject.getMap().get("c").getList().get(1));
assertEquals(tr, ++stepCount, "2", complexConnectedObject.getMap().get("d").getId());
assertEquals(tr, ++stepCount, "SimpleType2", complexConnectedObject.getMap().get("d").getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("d").getMap()));
assertEquals(tr, ++stepCount, new Date(1000L), complexConnectedObject.getMap().get("d").getMap().get("aa"));
assertEquals(tr, ++stepCount, new Date(2000L), complexConnectedObject.getMap().get("d").getMap().get("bb"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("d").getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getMap().get("d").getSet(), 3, 5);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getMap().get("d").getList()));
assertEquals(tr, ++stepCount, 1.5, complexConnectedObject.getMap().get("d").getList().get(0));
assertEquals(tr, ++stepCount, 22.5, complexConnectedObject.getMap().get("d").getList().get(1));
// set
assertEquals(tr, ++stepCount, 1, getSize(complexConnectedObject.getSet()));
assertEquals(tr, ++stepCount, "3", complexConnectedObject.getSet().iterator().next().getId());
assertEquals(tr, ++stepCount, "SimpleType3", complexConnectedObject.getSet().iterator().next().getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getSet().iterator().next().getMap()));
assertEquals(tr, ++stepCount, new Date(Long.MIN_VALUE), complexConnectedObject.getSet().iterator().next().getMap().get("cc"));
assertEquals(tr, ++stepCount, new Date(Long.MAX_VALUE), complexConnectedObject.getSet().iterator().next().getMap().get("dd"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getSet().iterator().next().getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getSet().iterator().next().getSet(), Integer.MAX_VALUE, Integer.MIN_VALUE);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getSet().iterator().next().getList()));
assertEquals(tr, ++stepCount, Double.MAX_VALUE, complexConnectedObject.getSet().iterator().next().getList().get(0));
assertEquals(tr, ++stepCount, Double.MIN_VALUE, complexConnectedObject.getSet().iterator().next().getList().get(1));
// list
assertEquals(tr, ++stepCount, 3, getSize(complexConnectedObject.getList()));
assertEquals(tr, ++stepCount, "4", complexConnectedObject.getList().get(0).getId());
assertEquals(tr, ++stepCount, "SimpleType4", complexConnectedObject.getList().get(0).getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(0).getMap()));
assertEquals(tr, ++stepCount, new Date(1234L), complexConnectedObject.getList().get(0).getMap().get("ee"));
assertEquals(tr, ++stepCount, new Date(now), complexConnectedObject.getList().get(0).getMap().get("ff"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(0).getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getList().get(0).getSet(), 666, 0);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(0).getList()));
assertEquals(tr, ++stepCount, 0.0, complexConnectedObject.getList().get(0).getList().get(0));
assertEquals(tr, ++stepCount, -1.0, complexConnectedObject.getList().get(0).getList().get(1));
assertEquals(tr, ++stepCount, "4", complexConnectedObject.getList().get(1).getId());
assertEquals(tr, ++stepCount, "SimpleType4", complexConnectedObject.getList().get(1).getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(1).getMap()));
assertEquals(tr, ++stepCount, new Date(1234L), complexConnectedObject.getList().get(1).getMap().get("ee"));
assertEquals(tr, ++stepCount, new Date(now), complexConnectedObject.getList().get(1).getMap().get("ff"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(1).getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getList().get(1).getSet(), 666, 0);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(1).getList()));
assertEquals(tr, ++stepCount, 0.0, complexConnectedObject.getList().get(1).getList().get(0));
assertEquals(tr, ++stepCount, -1.0, complexConnectedObject.getList().get(1).getList().get(1));
assertEquals(tr, ++stepCount, "4", complexConnectedObject.getList().get(2).getId());
assertEquals(tr, ++stepCount, "SimpleType4", complexConnectedObject.getList().get(2).getSimpleType());
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(2).getMap()));
assertEquals(tr, ++stepCount, new Date(1234L), complexConnectedObject.getList().get(2).getMap().get("ee"));
assertEquals(tr, ++stepCount, new Date(now), complexConnectedObject.getList().get(2).getMap().get("ff"));
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(2).getSet()));
stepCount += assertList(tr, stepCount, complexConnectedObject.getList().get(2).getSet(), 666, 0);
assertEquals(tr, ++stepCount, 2, getSize(complexConnectedObject.getList().get(2).getList()));
assertEquals(tr, ++stepCount, 0.0, complexConnectedObject.getList().get(2).getList().get(0));
assertEquals(tr, ++stepCount, -1.0, complexConnectedObject.getList().get(2).getList().get(1));
// enum
assertEquals(tr, ++stepCount, "BAR", complexConnectedObject.getEnumParameter());
results.add(tr);
}
// 4. Subscription lifecycle tests
// check we've only got one sub to each heap
{