Exemple #1
0
 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)
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
 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)
Exemple #5
0
 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)])
Exemple #6
0
 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)]
     )
Exemple #7
0
def optimize(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    print "Best constellation: %s" % optimizer.optimize(we, them)
Exemple #8
0
 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)
Exemple #9
0
 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())
Exemple #10
0
 def test_hard_battle(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
Exemple #11
0
 def test_open_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     self.assertEqual(len(army1), 6)
     self.assertEqual(len(army2), 3)
Exemple #12
0
def optimize(path, powermod):
    we, them = simfile.get_army(path)
    we.apply_power_mod(powermod)
    print "Best constellation: %s" % optimizer.optimize(we, them)
Exemple #13
0
 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)
Exemple #14
0
 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())
Exemple #15
0
 def test_hard_battle(self):
     army1, army2 = simfile.get_army('test1.sim')
     result, report = army1.attack(army2)
     self.assertFalse(result)
Exemple #16
0
 def test_open_simfile(self):
     army1, army2 = simfile.get_army('test1.sim')
     self.assertEqual(len(army1), 6)
     self.assertEqual(len(army2), 3)