### Question:
Area implements Message, Serializable { public static Area fromJSON(CharSequence string) { return MessageSerializer.readFromJSON(SERIALIZER, string); }  boolean contains(Area area); abstract boolean contains(Position position); abstract Rectangle getBoundingBox(); final Position getRandomPosition(); abstract Position getRandomPosition(Random random); abstract boolean intersects(Area other); String toJSON(); final Area unionWith(Area other); static Area fromJSON(CharSequence string); static Area unionOf(Area... areas); static final MessageSerializer<Area> SERIALIZER; }### Answer:
@Test public void circle() { for (int i = 0; i < 100; i++) { Circle c = Circle.random(); String fromCircle = MessageSerializer.writeToJSON(c, Circle.SERIALIZER); String fromArea = MessageSerializer.writeToJSON(c, Area.SERIALIZER); assertNotEquals(fromCircle, fromArea); assertEquals(c, Circle.fromJSON(fromCircle)); assertEquals(c, Area.fromJSON(fromArea)); } }
@Test @Ignore public void boundingBox() { Circle c = new Circle(Position.create(1, -1), 123); String fromCircle = MessageSerializer.writeToJSON(c, Circle.SERIALIZER); String fromArea = MessageSerializer.writeToJSON(c, Area.SERIALIZER); assertNotEquals(fromCircle, fromArea); assertEquals(c, Circle.fromJSON(fromCircle)); assertEquals(c, Area.fromJSON(fromArea)); }