Ejemplo n.º 1
0
    def test03(self):
        """ one moving bug """

        grid = Grid(5, 5)
        bug = Bug(grid, pheromoneKind=PHEROMONE, pheromoneValue=4)

        grid.put(2, 2, bug)
        grid.diffuse()
        self.assertEquals(4, grid.scent(2, 2, PHEROMONE))

        grid.remove(2, 2, bug)
        grid.put(2, 3, bug)
        grid.diffuse()
        self.assertEquals(0.5, grid.scent(1, 1, PHEROMONE))
        self.assertEquals(0  , grid.scent(2, 2, PHEROMONE))
        self.assertEquals(4.5, grid.scent(2, 3, PHEROMONE))

        grid.remove(2, 3, bug)
        grid.put(3, 3, bug)
        grid.diffuse()
        self.assertEquals(0.0625, grid.scent(0, 0, PHEROMONE))
        self.assertEquals(0.125 , grid.scent(0, 1, PHEROMONE))
        self.assertEquals(0.1875, grid.scent(0, 2, PHEROMONE))
        self.assertEquals(0.125 , grid.scent(1, 1, PHEROMONE))
        self.assertEquals(1     , grid.scent(2, 2, PHEROMONE))
        self.assertEquals(0.25  , grid.scent(2, 3, PHEROMONE))
        self.assertEquals(4.625 , grid.scent(3, 3, PHEROMONE))
Ejemplo n.º 2
0
    def test06(self):
        """ an object knows its location when put on the grid """

        grid = Grid(5, 5)
        bug = Bug(grid, pheromoneKind=PHEROMONE, pheromoneValue=4)
        grid.put(2, 2, bug)
        self.assertEquals((2, 2), (bug.x, bug.y))
        grid.remove(2, 2, bug)
        self.assertEquals((None, None), (bug.x, bug.y))