### Question:
TypeConstructorExpr extends Expr { public String getTypename() { return type; } TypeConstructorExpr(String type, List<Expr> args);  TypeConstructorExpr(String type, Expr... params); String getTypename(); void setTypename(String type); List<Expr> getArgs(); Expr getArg(int index); Expr removeArg(int index); int getNumArgs(); @Override void accept(IAstVisitor visitor); @Override TypeConstructorExpr clone(); void insertArg(int index, Expr arg); @Override boolean hasChild(IAstNode candidateChild); @Override Expr getChild(int index); @Override void setChild(int index, Expr expr); @Override int getNumChildren();  }### Answer:
@Test public void getTypename() throws Exception { TypeConstructorExpr e = new TypeConstructorExpr("foo", new BinaryExpr(new IntConstantExpr("2"), new IntConstantExpr("1"), BinOp.MOD), new BoolConstantExpr(true)); assertEquals("foo", e.getTypename()); }