### Question:
UPrimitiveTypeTree extends UExpression implements PrimitiveTypeTree { public static UPrimitiveTypeTree create(TypeTag tag) { return new AutoValue_UPrimitiveTypeTree(tag); }  static UPrimitiveTypeTree create(TypeTag tag); @Override Choice<Unifier> visitPrimitiveType(PrimitiveTypeTree tree, Unifier unifier); @Override Kind getKind(); @Override R accept(TreeVisitor<R, D> visitor, D data); @Override TypeKind getPrimitiveTypeKind(); @Override JCExpression inline(Inliner inliner); static final UPrimitiveTypeTree BYTE; static final UPrimitiveTypeTree SHORT; static final UPrimitiveTypeTree INT; static final UPrimitiveTypeTree LONG; static final UPrimitiveTypeTree FLOAT; static final UPrimitiveTypeTree DOUBLE; static final UPrimitiveTypeTree BOOLEAN; static final UPrimitiveTypeTree CHAR; static final UPrimitiveTypeTree NULL; static final UPrimitiveTypeTree VOID; }### Answer:
@Test public void equality() { new EqualsTester() .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.INT), UPrimitiveTypeTree.INT) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.LONG), UPrimitiveTypeTree.LONG) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.DOUBLE), UPrimitiveTypeTree.DOUBLE) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.FLOAT), UPrimitiveTypeTree.FLOAT) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.CHAR), UPrimitiveTypeTree.CHAR) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.VOID), UPrimitiveTypeTree.VOID) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.BOT), UPrimitiveTypeTree.NULL) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.BOOLEAN), UPrimitiveTypeTree.BOOLEAN) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.BYTE), UPrimitiveTypeTree.BYTE) .addEqualityGroup(UPrimitiveTypeTree.create(TypeTag.SHORT), UPrimitiveTypeTree.SHORT) .testEquals(); }