def testAddPlayer(self):
        game = Game(10, 10)

        player = Player("alice", "A")
        game.addPlayer(player)

        self.assert_(player in game.getPlayers())
    def viewScreensaver(self, stdscr, options, args):
        border, border_win = self.borderWin(stdscr, options.no_border)
        border_win_h, border_win_w = border_win.getmaxyx()
        height = border_win_h - border * 2
        width = border_win_w - border * 2
        win = border_win.derwin(height, width, border, border)
        win_h, win_w = win.getmaxyx()

        while True:
            game = Game(win_w, win_h)
            field = game.getOilField()

            w = Wildcatting()
            w.setPlayerField(field)
            if options.drill_cost:
                view = OilFieldDrillCostView(win, w, 1, 25)
            elif options.probability:
                view = OilFieldProbabilityView(win, w)

            for row in xrange(field.getHeight()):
                for col in xrange(field.getWidth()):
                    site = field.getSite(row, col)
                    site.setSurveyed(True)

            view.display()
            time.sleep(0.25)
 def ansiScreensaver(self):
     try:
         while True:
             game = Game(80, 23)
             field = game.getOilField()
             OilFieldTextView(field).ansi()
             time.sleep(.25)
     except:
         print chr(27) + '[0m'
    def testRejoin(self):
        game = Game(10, 10)

        player1 = Player("alice", "A")

        secret1 = game.addPlayer(player1)
        self.assert_(player1 in game.getPlayers())

        self.assertRaises(WildcattingException, game.addPlayer, player1)
    def testTwoPlayerOrder(self):
        game = Game(10, 10)

        player1 = Player("alice", "A")
        player2 = Player("bob", "B")
        game.addPlayer(player1)
        game.addPlayer(player2)

        players = game.getPlayers()
        self.assert_(len(players) == 2)

        self.assertEquals(player1, players[0])
        self.assertEquals(player2, players[1])
    def testTwoPlayers(self):
        game = Game(10, 10)

        player1 = Player("alice", "A")
        game.addPlayer(player1)
        self.assert_(player1 in game.getPlayers())

        player2 = Player("bob", "B")
        game.addPlayer(player2)
        self.assert_(player2 in game.getPlayers())

        self.assert_(player1 in game.getPlayers())
    def testStartGame(self):
        game = Game(10, 10)

        player1 = Player("alice", "A")
        game.addPlayer(player1)

        self.assertEquals(False, game.isStarted())
        game.start()
        self.assertEquals(True, game.isStarted())
    def playerScreensaver(self, stdscr, options, args):
        border, border_win = self.borderWin(stdscr, options.no_border)
        border_win_h, border_win_w = border_win.getmaxyx()
        height = border_win_h - border * 2
        width = border_win_w - border * 2
        win = border_win.derwin(height, width, border, border)
        win_h, win_w = win.getmaxyx()

        while True:
            game = Game(win_w, win_h)
            field = game.getOilField()

            view = OilFieldCursesView(win)
            view.setField(field)

            win.clear()
            animator = FadeInOilFieldCursesAnimator(field)
            while not animator.isDone():
                animator.animate()
                view.display()
 def asciiScreensaver(self):
     while True:
         game = Game(80, 23)
         field = game.getOilField()
         OilFieldTextView(field).ascii()
         time.sleep(.25)
    def testFinishGame(self):
        game = Game(10, 10, turnCount=1)

        player1 = Player("alice", "A")
        game.addPlayer(player1)

        self.assertEquals(False, game.isStarted())
        game.start()
        self.assertEquals(True, game.isStarted())

        self.assertEquals(False, game.isFinished())
        game.endTurn(player1)
        self.assertEquals(True, game.isFinished())
    def testWeekIncrement(self):
        game = Game(10, 10)

        player1 = Player("alice", "A")
        player2 = Player("bob", "B")

        secret1 = game.addPlayer(player1)
        self.assert_(player1 in game.getPlayers())
        secret2 = game.addPlayer(player2)
        self.assert_(player2 in game.getPlayers())

        game.start()
        self.assertTrue(game.isStarted())

        # Week 1
        self.assertEquals(1, game.getWeek().getWeekNum())
        game.endTurn(player1)
        self.assertEquals(1, game.getWeek().getWeekNum())
        game.endTurn(player2)

        # Week 2
        self.assertEquals(2, game.getWeek().getWeekNum())
        game.endTurn(player1)
        self.assertEquals(2, game.getWeek().getWeekNum())
        game.endTurn(player2)

        # Week 3
        self.assertEquals(3, game.getWeek().getWeekNum())
        game.endTurn(player1)
        self.assertEquals(3, game.getWeek().getWeekNum())
        game.endTurn(player2)