def test_approx_set_create(): pset = ApproxSet([1, 2, 3, 3.0000001]) assert 3 == len(pset) assert 3.0000001 in pset with pytest.raises(TypeError): ApproxSet(1, 2, 3)
def test_approx_set_contains(): pset = ApproxSet({P2(0, 0), P2(1, 1), P2(3, 3)}) assert P2(0, 0) in pset assert P2(0.0, 0.0) in pset assert P2(0.0000001, 0.0000001) in pset assert P2(0.1, 0.1) not in pset assert P2(-1, -1) not in pset assert P2(10, 10) not in pset with pytest.raises(TypeError): ApproxSet({V2(0, 0), V2(1, 1)})
def test_rasterize_polygon_8(square): expected = ApproxSet([ P2(0, 0), P2(0.5, 0), P2(1, 0), P2(1, 0.5), P2(1, 1), P2(0.5, 1), P2(0, 1), P2(0, 0.5), ]) assert expected == rasterize(square, n=8)
def test_rasterize_polygon_10(square): expected = ApproxSet([ P2(0, 0), P2(0.5, 0), P2(1, 0), P2(1, 0.3333333), P2(1, 0.6666666), P2(1, 1), P2(0.5, 1), P2(0, 1), P2(0, 0.6666666), P2(0, 0.3333333), ]) assert expected == rasterize(square, n=10)
def test_approx_set_eq(): pset = ApproxSet([P2(0, 0), P2(1, 1), P2(3, 3)]) assert {P2(0, 0), P2(1, 1), P2(3, 3)} == pset assert {P2(3.0000001, 3.0000001), P2(1, 1), P2(0, 0)} == pset assert [P2(3.0000001, 3.0000001), P2(1, 1), P2(0, 0)] == pset assert (P2(0.0000001, 0.0000001), P2(1, 1), P2(3, 3)) == pset assert pset == pset assert [P2(0, 0), P2(1, 1)] != pset assert pset != set() assert pset != None
def test_rasterize_polygon_15(square): expected = ApproxSet([ P2(0, 0), P2(0.3333333, 0), P2(0.6666666, 0), P2(1, 0), P2(1, 0.25), P2(1, 0.5), P2(1, 0.75), P2(1, 1), P2(0.75, 1), P2(0.5, 1), P2(0.25, 1), P2(0, 1), P2(0, 0.75), P2(0, 0.5), P2(0, 0.25), ]) assert expected == rasterize(square, n=15)
def test_approx_set_iter(): pset = ApproxSet([P2(3, 3), P2(2, 2), P2(1, 1)]) for e, a in zip([P2(1, 1), P2(2, 2), P2(3, 3)], pset): assert e == a
def test_rasterize_circle(): expected = ApproxSet([P2(1, 0), P2(0, 1), P2(-1, 0), P2(0, -1)]) assert expected == rasterize(Circle(1), n=4) expected = ApproxSet([P2(2, 1), P2(1, 2), P2(0, 1), P2(1, 0)]) assert expected == rasterize(Circle(1, P2(1, 1)), n=4)
def test_rasterize_line_segment(): expected = ApproxSet([P2(0, 0), P2(1, 0), P2(2, 0), P2(3, 0)]) assert expected == rasterize(LineSegment(P2(0, 0), P2(3, 0)), n=4)
def test_rasterize_polygon_4(square): expected = ApproxSet([P2(0, 0), P2(1, 0), P2(1, 1), P2(0, 1)]) assert expected == rasterize(square, n=4)