예제 #1
0
 def testTiny(self):
   g = astar.Graph(n=2)
   assert g.CountEdges() == 0
   assert g.CountMissingEdges() == 1
   assert not g.HasEdge(0, 1)
   assert 0 == g.CountEdgesByNode(0)
   assert 0 == g.CountEdgesByNode(1)
   assert 1 == g.CountMissingEdgesByNode(0)
   assert 1 == g.CountMissingEdgesByNode(1)
예제 #2
0
 def testSmallEmpty(self):
   g = astar.Graph(n=3)
   assert g.CountEdges() == 0
   assert g.CountMissingEdges() == 3
   for i in xrange(3):
     assert 0 == g.CountEdgesByNode(i)
     assert 2 == g.CountMissingEdgesByNode(i)
     for j in xrange(i):
       assert not g.HasEdge(i, j)
       assert not g.HasEdge(j, i)
예제 #3
0
  def testCopyIsDeep(self):
    g1 = astar.Graph(n=3)
    g1.SetEdge(1, 2)
    g2 = g1.Copy()
    assert g2.HasEdge(1, 2)
    g2.SetEdge(1, 2, set=False)

    assert not g2.HasEdge(1, 2)
    assert 0 == g2.CountEdges()
    assert 3 == g2.CountMissingEdges()
    assert 2 == g2.CountMissingEdgesByNode(0)
    assert 2 == g2.CountMissingEdgesByNode(1)
    assert 2 == g2.CountMissingEdgesByNode(2)

    assert g1.HasEdge(1, 2)
    assert 1 == g1.CountEdges()
    assert 2 == g1.CountMissingEdges()
    assert 2 == g1.CountMissingEdgesByNode(0)
    assert 1 == g1.CountMissingEdgesByNode(1)
    assert 1 == g1.CountMissingEdgesByNode(2)
def main():
    g = astar.Graph([{
        'lat': 0,
        'lng': 0
    }, {
        'lat': 5,
        'lng': 0
    }, {
        'lat': -1,
        'lng': 0
    }, {
        'lat': -2,
        'lng': 0
    }, {
        'lat': -3,
        'lng': 0
    }, {
        'lat': -4,
        'lng': 0
    }], [{
        'a': 0,
        'b': 2
    }, {
        'a': 0,
        'b': 1
    }, {
        'a': 2,
        'b': 3
    }, {
        'a': 3,
        'b': 4
    }, {
        'a': 4,
        'b': 5
    }], 0, 1)
    print(g.astar())
예제 #5
0
 def testSymmetry(self):
   g = astar.Graph(n=3)
   g.SetEdge(1, 2)
   assert g.HasEdge(2, 1)
예제 #6
0
 def testSetUnset(self):
   g = astar.Graph(n=3)
   g.SetEdge(1, 2)
   assert g.HasEdge(1, 2)
   g.SetEdge(1, 2, set=False)
   assert not g.HasEdge(1, 2)