### Question:
Paint { public void draw(Shape shape) { System.out.println(shape.draw()); }  void draw(Shape shape);  }### Answer:
@Test public void whenDrawSquare() { new Paint().draw(new Square()); assertThat( new String(out.toByteArray()), is( new StringBuilder() .append("†††††††††") .append("† †") .append("† †") .append("†††††††††" + ln) .toString() ) ); }
@Test public void whenDrawTriangle() { new Paint().draw(new Triangle()); assertThat( new String(out.toByteArray()), is( new StringBuilder() .append(" † ") .append(" ††† ") .append(" †††††† ") .append("†††††††††" + ln) .toString() ) ); }