Exemple #1
0
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)    
Exemple #2
0
@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())