@Test
public void testParseAndPrintStructs3() throws Exception {

  // This checks exact layout, so will require maintenance if things change.
  // This is expected and deliberate: do the maintenance :)
  final String program = ""
      + "struct S {\n"
      + " int a;\n"
      + " int b;\n"
      + "} someS = S(8, 9);\n"
      + "\n"
      + "struct T {\n"
      + " S myS1;\n"
      + " S myS2;\n"
      + "} ;\n"
      + "\n"
      + "void main()\n"
      + "{\n"
      + " T myT = T(S(1, 2), S(someS.a, 4));\n"
      + "}\n";
  assertEquals(program, PrettyPrinterVisitor.prettyPrintAsString(ParseHelper.parse(program
  )));
}