def test_num_cells_available(self):
        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 9
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 15)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 14)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 13)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 12)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 11)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 1)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 8
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 15)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 14)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 13)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 12)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 11)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 1)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 7
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 15)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 14)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 13)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 12)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 11)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 1)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 6
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 5
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 4
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 10)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 9)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 8)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 7)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 6)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 3
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 2
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.funding = 1
        app.cells = 15
        self.assertEqual(app.numCellsAvailable(), 5)
        app.cells = 14
        self.assertEqual(app.numCellsAvailable(), 4)
        app.cells = 13
        self.assertEqual(app.numCellsAvailable(), 3)
        app.cells = 12
        self.assertEqual(app.numCellsAvailable(), 2)
        app.cells = 11
        self.assertEqual(app.numCellsAvailable(), 1)
        app.cells = 10
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 9
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 8
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 7
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 6
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 5
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 4
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 3
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 2
        self.assertEqual(app.numCellsAvailable(), 0)
        app.cells = 1
        self.assertEqual(app.numCellsAvailable(), 0)
Example #2
0
    def test_execute_recruit(self):
        # Normal
        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 1, [1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 1, [2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 13)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [1, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [2, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [1, 1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 3)
        self.assertEqual(app.cells, 12)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [1, 2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 13)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [2, 1, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [2, 2, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)  # Coherent
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 1, [1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 1, [2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 13)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [1, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 2, [2, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [1, 1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 3)
        self.assertEqual(app.cells, 12)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [1, 2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 13)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [2, 1, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 15
        unusedOps = app.executeRecruit("United States", 3, [2, 2, 2])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        # not enough cells
        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 1
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 1)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 2
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 3, [2, 2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 1)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 2
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 3, [1, 2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 0)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 2
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 3, [1, 1, 2])
        self.assertEqual(unusedOps, 1)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 0)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 1
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 1)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 0)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 2
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 0)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 3
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 1)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 3
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 2)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 5
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [2, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 1)
        self.assertEqual(app.cells, 4)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 5
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 2, [1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 2)
        self.assertEqual(app.cells, 3)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 5
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 3, [1, 1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 3)
        self.assertEqual(app.cells, 2)

        app = Labyrinth(1, 2, self.set_up_blank_test_scenario)
        app.cells = 4
        app.funding = 9
        unusedOps = app.executeRecruit("United States", 3, [1, 1, 1])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["United States"].sleeperCells, 3)
        self.assertEqual(app.cells, 1)

        # IR RC
        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        app.funding = 9
        app.map["Iraq"].make_poor()
        unusedOps = app.executeRecruit("Iraq", 1, [4])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["Iraq"].sleeperCells, 0)
        self.assertEqual(app.cells, 15)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        app.funding = 9
        app.map["Iraq"].make_islamist_rule()
        unusedOps = app.executeRecruit("Iraq", 1, [6])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["Iraq"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)

        app = Labyrinth(1, 1, self.set_up_blank_test_scenario)
        app.cells = 15
        app.funding = 9
        app.map["Iraq"].make_fair()
        app.map["Iraq"].regimeChange = 1
        unusedOps = app.executeRecruit("Iraq", 1, [6])
        self.assertEqual(unusedOps, 0)
        self.assertEqual(app.map["Iraq"].sleeperCells, 1)
        self.assertEqual(app.cells, 14)