示例#1
0
文件: tests.py 项目: imps/mmhk
 def test_fight_lose_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
     self.assertEqual(len(army1), 0)
     # no one harmed, that angel killed them all ;-)
     self.assertEqual(len(army2), 3)
     self.assertEqual(len(filter(lambda x: x == (0, 1), report.leftovers())), 6)
示例#2
0
文件: simulate.py 项目: imps/mmhk
def simulate(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    result, report = we.attack(them)
    if result:
        print "Victory! Report: %r" % report
    else:
        print "Defeat! Report: %r" % report
示例#3
0
文件: simulate.py 项目: imps/mmhk
def simulate(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    result, report = we.attack(them)
    if result:
        print "Victory! Report: %r" % report
    else:
        print "Defeat! Report: %r" % report
示例#4
0
文件: tests.py 项目: imps/mmhk
 def test_fight_lose_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
     self.assertEqual(len(army1), 0)
     # no one harmed, that angel killed them all ;-)
     self.assertEqual(len(army2), 3)
     self.assertEqual(
         len(filter(lambda x: x == (0, 1), report.leftovers())), 6)
示例#5
0
文件: tests.py 项目: imps/mmhk
 def test_fight_win_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     army1[0].stack += 10  # vampires
     result, report = army1.attack(army2, dry_run=False)
     self.assertTrue(result)
     self.assertEqual(len(army1), 2)
     self.assertEqual(len(army2), 0)
     self.assertEqual(army1[0].stack, 4)
     self.assertEqual(report.leftovers(), [(7, 0), (0, 12), (0, 2), (5, 0),
                                           (0, 5), (0, 4), (4, 0)])
示例#6
0
文件: tests.py 项目: imps/mmhk
 def test_fight_win_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     army1[0].stack += 10 # vampires
     result, report = army1.attack(army2, dry_run=False)
     self.assertTrue(result)
     self.assertEqual(len(army1), 2)
     self.assertEqual(len(army2), 0)
     self.assertEqual(army1[0].stack, 4)
     self.assertEqual(
         report.leftovers(),
         [(7, 0), (0, 12), (0, 2), (5, 0), (0, 5), (0, 4), (4, 0)]
     )
示例#7
0
文件: simulate.py 项目: imps/mmhk
def optimize(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    print "Best constellation: %s" % optimizer.optimize(we, them)
示例#8
0
文件: tests.py 项目: imps/mmhk
 def test_optimize(self):
     army1, army2 = simfile.get_army('test3.sim')
     best = optimizer.optimize(army1, army2, show_pbar=False)
     self.assertEqual(best[0].stack, 119)
     self.assertEqual(best[1].stack, 5)
示例#9
0
文件: tests.py 项目: imps/mmhk
 def test_dry_run(self):
     army1, army2 = simfile.get_army('test1.sim')
     result1, report1 = army1.attack(army2, dry_run=True)
     result2, report2 = army1.attack(army2, dry_run=True)
     self.assertEqual(result1, result2)
     self.assertEqual(report1.leftovers(), report2.leftovers())
示例#10
0
文件: tests.py 项目: imps/mmhk
 def test_hard_battle(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
示例#11
0
文件: tests.py 项目: imps/mmhk
 def test_open_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     self.assertEqual(len(army1), 6)
     self.assertEqual(len(army2), 3)
示例#12
0
文件: simulate.py 项目: imps/mmhk
def optimize(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    print "Best constellation: %s" % optimizer.optimize(we, them)
示例#13
0
文件: tests.py 项目: imps/mmhk
 def test_optimize(self):
     army1, army2 = simfile.get_army('test3.sim')
     best = optimizer.optimize(army1, army2, show_pbar=False)
     self.assertEqual(best[0].stack, 119)
     self.assertEqual(best[1].stack, 5)
示例#14
0
文件: tests.py 项目: imps/mmhk
 def test_dry_run(self):
     army1, army2 = simfile.get_army('test1.sim')
     result1, report1 = army1.attack(army2, dry_run=True)
     result2, report2 = army1.attack(army2, dry_run=True)
     self.assertEqual(result1, result2)
     self.assertEqual(report1.leftovers(), report2.leftovers())
示例#15
0
文件: tests.py 项目: imps/mmhk
 def test_hard_battle(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
示例#16
0
文件: tests.py 项目: imps/mmhk
 def test_open_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     self.assertEqual(len(army1), 6)
     self.assertEqual(len(army2), 3)