/**
* Tests passing (and getting as result) complex structure
*/
@Test
public void test_TestObject_setStruct() {
DynaCorbaRequest request = new DynaCorbaRequest(refTestObject, "setStruct");
SomeStruct struct = new SomeStruct();
SimpleStruct inner = new SimpleStruct();
inner.field1 = TestConstants.STR_1;
inner.field2 = TestConstants.INT_1;
struct.innerStruct = inner;
struct.str_list = TestConstants.STR_ARR_2;
struct.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
struct.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
struct.str = TestConstants.STR_1;
try {
request.addArgument(struct);
request.setOutputType(SomeStruct.class);
DynaCorbaResponse response = request.invoke();
SomeStruct result = (SomeStruct)response.getContent();
assertTrue(TestConstants.are2DimArraysEqual(result.twoDimSeq, TestConstants.INT_ARRAY_2_DIM));
assertTrue(TestConstants.are3DimArraysEqual(result.threeDimSeq, TestConstants.INT_ARRAY_3_DIM));
assertEquals(TestConstants.STR_1, result.str);
assertEquals(TestConstants.STR_ARR_2[0], result.str_list[0]);