### Question:
Type implements Cloneable, ProtoObject<TypeProto> { @Override public String toString() { return typeName(kind()); } Type(TajoDataTypes.Type kind); TajoDataTypes.Type kind(); boolean isTypeParameterized(); boolean isValueParameterized(); List<Type> getTypeParameters(); List<Integer> getValueParameters(); @Override int hashCode(); @Override boolean equals(Object t); @Override String toString(); boolean isAny(); boolean isStruct(); boolean isNull(); static Numeric Numeric(int precision); static Numeric Numeric(int precision, int scale); static Char Char(int len); static Varchar Varchar(int len); static Record Record(Collection<Field> types); static Array Array(Type type); static Record Record(Field... types); static Map Map(Type keyType, Type valueType); static Null Null(); @Override TypeProto getProto(); static int DEFAULT_PRECISION; static int DEFAULT_SCALE; static final Any Any; static final Bit Bit; static final Null Null; static final Bool Bool; static final Int1 Int1; static final Int2 Int2; static final Int4 Int4; static final Int8 Int8; static final Float4 Float4; static final Float8 Float8; static final Numeric Numeric; static final Date Date; static final Time Time; static final Timestamp Timestamp; static final Interval Interval; static final Text Text; static final Blob Blob; }### Answer:
@Test public final void testToString() { assertEquals("BOOLEAN", Bool.toString()); assertEquals("INT1", Int1.toString()); assertEquals("INT2", Int2.toString()); assertEquals("INT4", Int4.toString()); assertEquals("INT8", Int8.toString()); assertEquals("FLOAT4", Float4.toString()); assertEquals("FLOAT8", Float8.toString()); assertEquals("DATE", Date.toString()); assertEquals("TIME", Time.toString()); assertEquals("TIMESTAMP", Timestamp.toString()); Numeric n = Numeric(4, 2); assertEquals("NUMERIC(4,2)", n.toString()); assertEquals("BLOB", Blob.toString()); Char c = Char(2); assertEquals("CHAR(2)", c.toString()); Varchar varchar = Varchar(2); assertEquals("VARCHAR(2)", varchar.toString()); Record record = Type.Record(Field("x", Int8), Field("y", Array(Float8))); assertEquals("RECORD(x (INT8), y (ARRAY<FLOAT8>))", record.toString()); Map map = Map(Int8, Array(Timestamp)); assertEquals("MAP<INT8,ARRAY<TIMESTAMP>>", map.toString()); Array array = Array(Int8); assertEquals("ARRAY<INT8>", array.toString()); }