@Test
public void testClone() {

  TypeConstructorExpr tce = new TypeConstructorExpr(
      "hey",
      Arrays.asList(new VariableIdentifierExpr("x"),
          new VariableIdentifierExpr("y")));
  TypeConstructorExpr tce2 = tce.clone();
  assertFalse(tce == tce2);
  assertEquals(tce.getTypename(), tce2.getTypename());
  assertFalse(tce.getArg(0) == tce2.getArg(0));
  assertFalse(tce.getArg(1) == tce2.getArg(1));
  assertEquals(((VariableIdentifierExpr) tce.getArg(0)).getName(),
      ((VariableIdentifierExpr) tce2.getArg(0)).getName());
  assertEquals(((VariableIdentifierExpr) tce.getArg(1)).getName(),
      ((VariableIdentifierExpr) tce2.getArg(1)).getName());
}