def test_edge_sort(): b=BooleanOp() v=vorig(0,0) for x in xrange(100): if x==0: ang=0 else: ang=x/6.0 def Vertex(a,b): x=a*cos(ang)-b*sin(ang) y=b*cos(ang)+a*sin(ang) return vorig(int(x),int(y)) for side in [0,1]: l=Line(Vertex(-10,0),Vertex(0,0)) tosort=lvector([ Line(Vertex(0,0),Vertex(-10,10)), Line(Vertex(0,0),Vertex(0,10)), Line(Vertex(0,0),Vertex(10,10))]) out=list(b.dbg_step5_sort_edges(v,l,tosort,side)) if side==0: assert out[0]==Line(Vertex(0,0),Vertex(-10,10)) assert out[1]==Line(Vertex(0,0),Vertex(0,10)) assert out[2]==Line(Vertex(0,0),Vertex(10,10)) else: assert out[2]==Line(Vertex(0,0),Vertex(-10,10)) assert out[1]==Line(Vertex(0,0),Vertex(0,10)) assert out[0]==Line(Vertex(0,0),Vertex(10,10)) tosort=lvector([ Line(Vertex(0,0),Vertex(-10,10)), Line(Vertex(0,10),Vertex(0,0)), Line(Vertex(0,0),Vertex(10,10))]) out=list(b.dbg_step5_sort_edges(v,l,tosort,side)) if side==0: assert out[0]==Line(Vertex(0,0),Vertex(-10,10)) assert out[1]==Line(Vertex(0,10),Vertex(0,0)) assert out[2]==Line(Vertex(0,0),Vertex(10,10)) else: assert out[2]==Line(Vertex(0,0),Vertex(-10,10)) assert out[1]==Line(Vertex(0,10),Vertex(0,0)) assert out[0]==Line(Vertex(0,0),Vertex(10,10)) tosort=lvector([ Line(Vertex(-10,10),Vertex(0,0)), Line(Vertex(0,10),Vertex(0,0)), Line(Vertex(0,0),Vertex(10,10))]) out=list(b.dbg_step5_sort_edges(v,l,tosort,side)) if side==0: assert out[0]==Line(Vertex(-10,10),Vertex(0,0)) assert out[1]==Line(Vertex(0,10),Vertex(0,0)) assert out[2]==Line(Vertex(0,0),Vertex(10,10)) else: assert out[2]==Line(Vertex(-10,10),Vertex(0,0)) assert out[1]==Line(Vertex(0,10),Vertex(0,0)) assert out[0]==Line(Vertex(0,0),Vertex(10,10))