def test_angle(self): v5 = constructIntersection(withMovements=True) e15 = v5.getInEdge("1") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e25 = v5.getInEdge("2") e35 = v5.getInEdge("3") e54 = v5.getOutEdge("4") e45 = v5.getInEdge("4") assert e15.getAngleClockwise(e52) == 90 assert e51.getAngleClockwise(e52) == 270 assert e45.getAngleClockwise(e52) == 270 assert e54.getAngleClockwise(e52) == 90 assert e25.getAngleClockwise(e54) == 90 assert e25.getAngleClockwise(e45) == 270 assert e45.getAngleClockwise(e35) == 270 assert e54.getAngleClockwise(e35) == 90 #assert e54.getAngleClockwise(e52) == 90 assert e15.getAngleClockwise(e15) == 0 assert e15.getAngleClockwise(e51) == 180
def test_iterInEdges(self): v5 = constructIntersection() result = [edge.iid_ for edge in v5.iterInEdges()] answer = ["4 5", "2 5", "1 5", "3 5"] assert result == answer
def test_iterOutEdges(self): v5 = constructIntersection() result = [edge.iid_ for edge in v5.iterOutEdges()] answer = ["5 1", "5 2", "5 4", "5 3"] assert result == answer
def NOtest_addOutMovementRaises(self): v5 = constructIntersection() e53 = v5.getOutEdge("3") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e54 = v5.getOutEdge("4") e35 = v5.getInEdge("3") e45 = v5.getInEdge("4") e25 = v5.getInEdge("2") e15 = v5.getInEdge("1") #mov1525 = Movement(e15, e25, 0, 0, 1) #nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1525)) mov1552 = Movement(e15, e52, 1) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) #e15.addOutMovement(mov1552) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e25, 0, 0, 1) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 3, 0, 1) # mov1552 = Movement(e15, e52, 2) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) mov1552 = Movement(e15, e52, 3) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) mov1552 = Movement(e15, e52, 4) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 2, 0, 2) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 1, 0, 3) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 0, 0, 4) # mov1552 = Movement(e15, e52, 3) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) mov1552 = Movement(e15, e52, 2) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) mov1552 = Movement(e15, e52, 1) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 0, 0, 3) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 0, 1, 2) # nose.tools.assert_raises(GraphError, e15.addOutMovement, e52, 0, 2, 1) # mov1552 = Movement(e15, e52, 0) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552)) mov1552 = Movement(e15, e52, -1) nose.tools.assert_raises(GraphError, e15.addOutMovement(mov1552))
def test_hasInMovement(self): v5 = constructIntersection(withMovements=True) e15 = v5.getInEdge("1") e53 = v5.getOutEdge("3") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e54 = v5.getOutEdge("4") e52.hasInMovement("1") e53.hasInMovement("1") e54.hasInMovement("1")
def test_getInEdgeCounterClockwise(self): v5 = constructIntersection() e35 = v5.getInEdge("3") e45 = v5.getInEdgeCounterClockwise(e35) assert e45 == v5.getInEdge("4") e25 = v5.getInEdgeCounterClockwise(e45) assert e25 == v5.getInEdge("2") e15 = v5.getInEdgeCounterClockwise(e25) assert e15 == v5.getInEdge("1") e35 = v5.getInEdgeCounterClockwise(e15) assert e35 == v5.getInEdge("3")
def test_getOutEdgeClockwise(self): v5 = constructIntersection() e54 = v5.getOutEdge("4") e53 = v5.getOutEdgeClockwise(e54) assert e53 == v5.getOutEdge("3") e51 = v5.getOutEdgeClockwise(e53) assert e51 == v5.getOutEdge("1") e52 = v5.getOutEdgeClockwise(e51) assert e52 == v5.getOutEdge("2") e54 = v5.getOutEdgeClockwise(e52) assert e54 == v5.getOutEdge("4")
def test_iterOutMovements(self): v5 = constructIntersection(withMovements=True) e15 = v5.getInEdge("1") e53 = v5.getOutEdge("3") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e54 = v5.getOutEdge("4") result = [mov.iid_ for mov in e15.iterOutMovements()] answer = ['1 5 2', '1 5 4', '1 5 3'] assert result == answer
def test_getAcuteAngle(self): v5 = constructIntersection(withMovements=True) e15 = v5.getInEdge("1") e52 = v5.getOutEdge("2") e25 = v5.getInEdge("2") e35 = v5.getInEdge("3") e54 = v5.getOutEdge("4") e45 = v5.getInEdge("4") assert e15.getAcuteAngle(e52) == 90 assert e52.getAcuteAngle(e15) == 90 assert e15.getAcuteAngle(e54) == 180 assert e15.getAcuteAngle(e45) == 180 net = getSimpleNet() v5 = net.getVertex("5") v8 = net.getVertex("8") e58 = Edge(v5, v8, 3) net.addEdge(e58) e15 = net.getEdge("1", "5") e51 = net.getEdge("5", "1") assert e15.getAcuteAngle(e58) == 135 assert e51.getAcuteAngle(e58) == 135 assert e58.getAcuteAngle(e15) == 135 assert e58.getAcuteAngle(e51) == 135 e85 = Edge(v8, v5, 2) net.addEdge(e85) assert e15.getAcuteAngle(e85) == 135 assert e51.getAcuteAngle(e85) == 135 assert e85.getAcuteAngle(e15) == 135 assert e85.getAcuteAngle(e51) == 135
def test_addOutMovement(self): v5 = constructIntersection() e53 = v5.getOutEdge("3") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e54 = v5.getOutEdge("4") e35 = v5.getInEdge("3") e45 = v5.getInEdge("4") e25 = v5.getInEdge("2") e15 = v5.getInEdge("1") #nose.tools.assert_raises(GraphError, e15.addOutMovement, e25, 0, 0, 1) assert not e15.hasOutMovement("2") #add a left turn mov152 = Movement(e15, e52, 1) e15.addOutMovement(mov152) #try to add it again nose.tools.assert_raises(GraphError, e15.addOutMovement, mov152) assert e15.hasOutMovement("2") #add a right turn assert not e15.hasOutMovement("3") mov153 = Movement(e15, e53, 1) e15.addOutMovement(mov153) assert e15.hasOutMovement("3") #add a through turn mov154 = Movement(e15, e54, 2) #e15.addOutMovement(e54, 1, 0, 2) e15.addOutMovement(mov154) assert e15.hasOutMovement("4")
def test_deleteOutMovement(self): v5 = constructIntersection(withMovements=True) e15 = v5.getInEdge("1") e53 = v5.getOutEdge("3") e51 = v5.getOutEdge("1") e52 = v5.getOutEdge("2") e54 = v5.getOutEdge("4") mov152 = e15.getOutMovement("2") mov154 = e15.getOutMovement("4") mov153 = e15.getOutMovement("3") assert e15.hasOutMovement("2") assert e52.hasInMovement("1") assert e15.getNumOutMovements() == 3 assert e52.getNumInMovements() == 1 e15.deleteOutMovement(mov152) assert not e15.hasOutMovement("2") assert not e52.hasInMovement("1") assert e15.getNumOutMovements() == 2 assert e52.getNumInMovements() == 0
def test_constructIntersection(self): v5 = constructIntersection() assert v5.getNumOutEdges() == 4 assert v5.getNumInEdges() == 4