def test_IEDS(self): self.assertEqual(len(D.iterated_elimination(self.one_player, \ D.pure_strategy_dominance)), 1) self.assertEqual(len(D.iterated_elimination(self.one_strategy, \ D.pure_strategy_dominance)), 1) self.assertEqual(len(D.iterated_elimination(self.one_profile, \ D.pure_strategy_dominance)), 1)
def test_IE_unconditional_PD(self): self.assertEqual(len(D.iterated_elimination(self.cd_bl, \ D.pure_strategy_dominance, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bc, \ D.pure_strategy_dominance, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_br, \ D.pure_strategy_dominance, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bcr, \ D.pure_strategy_dominance, conditional=False)), 1)
def test_conservative_PD(self): self.assertEqual(len(D.iterated_elimination(self.cd_bl, \ D.pure_strategy_dominance, conditional=2)), 5) self.assertEqual(len(D.iterated_elimination(self.cd_bc, \ D.pure_strategy_dominance, conditional=2)), 8) self.assertEqual(len(D.iterated_elimination(self.cd_br, \ D.pure_strategy_dominance, conditional=2)), 8) self.assertEqual(len(D.iterated_elimination(self.cd_bcr, \ D.pure_strategy_dominance, conditional=2)), 5)
def test_IE_NBR(self): """ iterated elimination of never weak best-response strategies """ self.assertEqual(len(D.iterated_elimination(self.nbr, \ D.never_best_response)), 4) self.assertEqual(len(D.iterated_elimination(self.wpd, \ D.never_best_response)), 1) self.assertEqual(len(D.iterated_elimination(self.spd, \ D.never_best_response)), 1)
def test_IE_WPD(self): """ iterated elimination of weakly pure-strategy dominated strategies """ self.assertEqual(len(D.iterated_elimination(self.nbr, \ D.pure_strategy_dominance, weak=True)), 6) self.assertEqual(len(D.iterated_elimination(self.wpd, \ D.pure_strategy_dominance, weak=True)), 1) self.assertEqual(len(D.iterated_elimination(self.spd, \ D.pure_strategy_dominance, weak=True)), 1)
def test_IE_conditional_PD(self): """ iterated elimination of conditionally strictly pure-strategy dominated strategies in games with partial data """ self.assertEqual(len(D.iterated_elimination(self.cd_bl, \ D.pure_strategy_dominance, conditional=True)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bc, \ D.pure_strategy_dominance, conditional=True)), 8) self.assertEqual(len(D.iterated_elimination(self.cd_br, \ D.pure_strategy_dominance, conditional=True)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bcr, \ D.pure_strategy_dominance, conditional=True)), 1)
def test_conservative_dominance(self): self.assertTrue(D.dominates(self.spd, "Column", "Center", "Right", 2)) self.assertFalse(D.dominates(self.spd, "Row", "Middle", "Bottom", 2)) self.assertFalse(D.dominates(self.cd_br, "Column", "Center", "Right", \ conditional=2)) self.assertFalse(D.dominates(self.cd_br, "Row", "Middle", "Bottom", \ conditional=2)) self.assertFalse(D.dominates(self.cd_bc, "Column", "Center", "Right", \ conditional=2)) self.assertFalse(D.dominates(self.cd_bc, "Row", "Middle", "Bottom", \ conditional=2))
def test_IE_CNBR(self): """ iterated elimination of conditionally never weak best-response strategies in games with partial data """ self.assertEqual(len(D.iterated_elimination(self.cd_bl, \ D.never_best_response, conditional=True)), 5) self.assertEqual(len(D.iterated_elimination(self.cd_bl, \ D.never_best_response, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bc, \ D.never_best_response, conditional=True)), 5) self.assertEqual(len(D.iterated_elimination(self.cd_bc, \ D.never_best_response, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_br, \ D.never_best_response, conditional=True)), 8) self.assertEqual(len(D.iterated_elimination(self.cd_br, \ D.never_best_response, conditional=False)), 1) self.assertEqual(len(D.iterated_elimination(self.cd_bcr, \ D.never_best_response, conditional=True)), 7) self.assertEqual(len(D.iterated_elimination(self.cd_bcr, \ D.never_best_response, conditional=False)), 1)
def test_weak_dominance(self): self.assertFalse(D.dominates(self.wpd, "Column", "Center", "Left", \ weak=False)) self.assertTrue(D.dominates(self.wpd, "Column", "Center", "Left", \ weak=True))