@Test
public void testCovers()
        throws Exception
{

    Circle circle = new Circle(makePoint(0.0, 0.0), 0.5);
    assertTrue(circle.covers(makePoint(0.0, 0.0)));
    assertTrue(circle.covers(makePoint(0.1, 0.2)));
    assertFalse(circle.covers(makePoint(0.4, 0.4)));
    assertFalse(circle.covers(makePoint(-1, 0.4)));
    assertTrue(circle.covers(parseWkt("MULTIPOINT ((0.1 0.1), (0.2 0.4))")));
    assertFalse(circle.covers(parseWkt("MULTIPOINT ((0.1 0.1), (1.2 0.4))")));
    assertFalse(circle.covers(parseWkt("MULTIPOINT ((1.1 0.1), (0.2 1.4))")));
    assertTrue(circle.covers(parseWkt("POLYGON ((-0.1 0.1, 0 0.4, 0.1 0.2, -0.1 0.1))")));
    assertTrue(circle.covers(parseWkt("POLYGON ((-0.5 0, 0 0.5, 0.5 0, -0.5 0))")));
    assertFalse(circle.covers(parseWkt("POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))")));
    assertFalse(circle.covers(parseWkt("POLYGON ((0.4 0.4, 0.4 0.45, 0.45 0.45, 0.45 0.4, 0.4 0.4))")));
    assertTrue(circle.covers(parseWkt("MULTIPOLYGON (((-0.1 0.1, 0 0.4, 0.1 0.2, -0.1 0.1)), " +
            "((-0.5 0, 0 0.5, 0.5 0, -0.5 0)))")));
    assertFalse(circle.covers(parseWkt("MULTIPOLYGON (((-0.1 0.1, 0 0.4, 0.1 0.2, -0.1 0.1)), " +
            "((0 0, 0 1, 1 1, 1 0, 0 0)))")));
    assertFalse(circle.covers(parseWkt("MULTIPOLYGON (((0.4 0.4, 0.4 0.45, 0.45 0.45, 0.45 0.4, 0.4 0.4)), " +
            "((0 0, 0 1, 1 1, 1 0, 0 0)))")));
    assertTrue(circle.covers(parseWkt("LINESTRING (-0.1 0, 0.2 0.3)")));
    assertTrue(circle.covers(parseWkt("LINESTRING (-0.5 0, 0 0.5, 0.5 0)")));
    assertFalse(circle.covers(parseWkt("LINESTRING (-0.1 0, 0 1)")));
    assertFalse(circle.covers(parseWkt("LINESTRING (0.4 0.4, 0.45 0.45)")));
    assertTrue(circle.covers(parseWkt("MULTILINESTRING ((-0.1 0, 0.2 0.3), (-0.5 0, 0 0.5, 0.5 0))")));
    assertFalse(circle.covers(parseWkt("MULTILINESTRING ((-0.1 0, 0.2 0.3), (-0.1 0, 0 1))")));
    assertFalse(circle.covers(parseWkt("MULTILINESTRING ((0.4 0.4, 0.45 0.45), (-0.1 0, 0 1))")));
}