public void textComplexParamNameMapping() {
String result = exampleSProcService.createOrUpdateObjectWithRandomFields(null);
assertNull(result);
final ExampleDomainObjectWithRandomFields obj = new ExampleDomainObjectWithRandomFields();
obj.setX("X");
obj.setY("Y");
obj.setZ(3);
obj.setInnerObject(new ExampleDomainObjectWithRandomFieldsInner("x", "y", "z"));
obj.setList(Lists.newArrayList(new ExampleDomainObjectWithRandomFieldsInner("a", "b", "c")));
result = exampleSProcService.createOrUpdateObjectWithRandomFields(obj);
// check that field ordering is correct
assertEquals("XY3xyz(<abc>)", result);
result = exampleSProcService.createOrUpdateMultipleObjectsWithRandomFields(Lists.newArrayList(
new ExampleDomainObjectWithRandomFields("X", "Y", 1)));
assertEquals("XY1", result);
}