"Stype B is [Integer[]]; " +
"Stype C is [<String[][][] a>][]; " +
"register A, B, C;");
assertNull(mError);
assertTrue(!builder.getRegistered().isEmpty());
RegisteredObject reg = builder.getRegistered().get("A");
assertNotNull(reg);
assertTrue(reg.getObject() instanceof StructuralType);
assertTrue(((StructuralType)reg.getObject()).getSType() instanceof ArraySType);
reg = builder.getRegistered().get("B");
assertNotNull(reg);
assertTrue(reg.getObject() instanceof StructuralType);
SType stype = ((StructuralType)reg.getObject()).getSType();
assertTrue(stype instanceof ListSType);
assertTrue(((ListSType)stype).getChildType() instanceof ArraySType);
reg = builder.getRegistered().get("C");
assertNotNull(reg);
assertTrue(reg.getObject() instanceof StructuralType);
stype = ((StructuralType)reg.getObject()).getSType();
assertTrue(stype instanceof ArraySType);
assertTrue(((ArraySType)stype).getType() instanceof ListSType);
assertTrue(((ListSType)((ArraySType)stype).getType()).getChildType() instanceof TupleSType);
TupleSType tuple = (TupleSType)((ListSType)((ArraySType)stype).getType()).getChildType();
assertTrue(tuple.getElements().get("a") instanceof ArraySType);