class CubeTest(unittest.TestCase): """ Tests the Cube class """ TEST_CUBE_DIMENSION = 3 def setUp(self): self.cube = Cube(CubeTest.TEST_CUBE_DIMENSION) def tearDown(self): pass def testCellCount(self): self.assertEquals(CubeTest.TEST_CUBE_DIMENSION * CubeTest.TEST_CUBE_DIMENSION * CubeTest.TEST_CUBE_DIMENSION, len(self.cube.get_cells())) def __awakenCell(self, cell): cell.state = Cell.LIVE def testForeachCellAndStateChange(self): for cell in self.cube.get_cells(): self.assertEquals(Cell.DEAD, cell.state) self.cube.foreach_cell(self.__awakenCell) for cell in self.cube.get_cells(): self.assertEquals(Cell.LIVE, cell.state)
Created on 29 nov. 2010 @author: Terranca ''' from cube import Cube from cells import red_cell from random import random def random_red(cell): if random() > 0.8: cell = red_cell.RedCell(copy=cell) return cell def update(cube): """ Progress the cube one time-tick """ for cell in cube.get_cells(): cube.set_cell(cell.location, cell.tick()) def get_colors(cube): for cell in cube.get_cells(): print cell.COLOR if __name__ == '__main__': cube = Cube(7) cube.foreach_cell(random_red) #update(cube) get_colors(cube) print 'Number of cells: %d' % len(cube.get_cells())