Ejemplo n.º 1
0
    def test_apply(self):
        FakeRule = type(b"FakeRule", (object, ), {"to_field": None})

        rules = Rules({})
        rules._fields = {}

        rules._fields["field"] = FakeRule()
        rules.field = "field__value"

        special_field = FakeRule()
        special_field.to_field = "__special_field"
        rules._fields["special_field"] = special_field
        rules.special_field = "special_field__value"

        self.assertDictEqual(rules.apply(), {
            "field": "field__value",
            "__special_field": "special_field__value",
        })
Ejemplo n.º 2
0
class Game(object):
	"""docstring for Game"""
	def __init__(self, board):
		super(Game, self).__init__()
		self.rules = Rules()
		self.board = board
		self.xSize = board.getXSize()
		self.ySize = board.getYSize()


	def iterate(self):
		newBoard = Board(self.xSize, self.ySize)
		
		for i in xrange(self.xSize):
			for j in xrange(self.ySize):
				count = self.board.getAliveNeiburghs(i,j)
				state = self.board.isAlive(i,j)
				newState = self.rules.apply(count, state)
				newBoard.setState(i,j,newState)


		self.board = newBoard

	def playGame(self):
		while(not self.board.isAllDead()):
			self.iterate()
			self.printBoard()

	def printLines(self):
		line = '\n'
		for i in xrange(self.ySize):
			line += '-'

		print line + '\n'

	def printBoard(self):
		os.system('clear')
		self.printLines()
		print self.board.toString()
		self.printLines()
Ejemplo n.º 3
0
 def test_apply_error(self):
     rules = Rules({})
     rules._fields = {}
     rules.f = rules._fields['f'] = _NOTSET
     self.assertRaises(NotSetError, rules.apply, silent=False)
     self.assertEqual(rules.apply(silent=True), {})
Ejemplo n.º 4
0
def apply(days):
    obj = Rules()
    response = jsonify(obj.apply(days=days))
    return response