def test_number_in_play(): caretaker = Caretaker.Caretaker() assert caretaker.number_in_play("Centaur") == 0 caretaker.take_one("Centaur") assert caretaker.number_in_play("Centaur") == 1 caretaker.kill_one("Centaur") assert caretaker.number_in_play("Centaur") == 0 caretaker.take_one("Centaur") caretaker.take_one("Centaur") caretaker.kill_one("Centaur") assert caretaker.number_in_play("Centaur") == 1
def test_take_too_many(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Serpent") == 10 for unused in xrange(10): caretaker.take_one("Serpent") assert caretaker.num_left("Serpent") == 0 try: caretaker.take_one("Serpent") except Exception: pass else: assert False, "should have raised"
def test_put_one_back(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Angel") == 18 caretaker.take_one("Angel") assert caretaker.num_left("Angel") == 17 caretaker.put_one_back("Angel") assert caretaker.num_left("Angel") == 18 caretaker.put_one_back("Unknown") try: caretaker.num_left("Unknown") except Exception: pass else: assert False
def test_kill_one(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Angel") == 18 caretaker.take_one("Angel") assert caretaker.num_left("Angel") == 17 caretaker.kill_one("Angel") assert caretaker.num_left("Angel") == 18 assert caretaker.num_left("Centaur") == 25 caretaker.take_one("Centaur") assert caretaker.num_left("Centaur") == 24 assert caretaker.graveyard["Centaur"] == 0 caretaker.kill_one("Centaur") assert caretaker.num_left("Centaur") == 24 assert caretaker.graveyard["Centaur"] == 1
def test_could_recruit(): now = time.time() game = Game.Game("g1", "p0", now, now, 2, 6) player = Player.Player("p0", game, 0) legion = Legion.Legion( player, "Rd02", Creature.n2c(["Titan", "Gargoyle", "Centaur", "Centaur"]), 1) caretaker = Caretaker.Caretaker() assert not legion.could_recruit("Marsh", caretaker) assert not legion.could_recruit("Desert", caretaker) assert legion.could_recruit("Plains", caretaker) assert legion.could_recruit("Brush", caretaker) assert legion.could_recruit("Tower", caretaker)
def test_available_recruits(): now = time.time() game = Game.Game("g1", "p0", now, now, 2, 6) player = Player.Player("p0", game, 0) legion = Legion.Legion( player, "Rd02", Creature.n2c(["Titan", "Lion", "Gargoyle", "Centaur", "Centaur"]), 1) caretaker = Caretaker.Caretaker() assert legion.available_recruits("Marsh", caretaker) == [] assert legion.available_recruits("Desert", caretaker) == ["Lion"] assert legion.available_recruits("Plains", caretaker) == ["Centaur", "Lion"] assert legion.available_recruits("Brush", caretaker) == ["Gargoyle"] assert legion.available_recruits( "Tower", caretaker) == ["Ogre", "Centaur", "Gargoyle", "Warlock"]
def test_put_back_too_many(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Serpent") == 10 caretaker.put_one_back("Serpent") assert caretaker.num_left("Serpent") == 10
def test_init(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Centaur") == 25 assert caretaker.num_left("Titan") == 6 assert caretaker.num_left("Wyvern") == 18
def test_take_one(): caretaker = Caretaker.Caretaker() assert caretaker.num_left("Wyvern") == 18 caretaker.take_one("Wyvern") assert caretaker.num_left("Wyvern") == 17
def test_available_recruits_and_recruiters(): now = time.time() game = Game.Game("g1", "p0", now, now, 2, 6) player = Player.Player("p0", game, 0) legion = Legion.Legion( player, "Rd01", Creature.n2c(["Titan", "Gargoyle", "Centaur", "Centaur"]), 1) caretaker = Caretaker.Caretaker() assert legion.available_recruits_and_recruiters("Marsh", caretaker) == [] assert legion.available_recruits_and_recruiters("Desert", caretaker) == [] assert legion.available_recruits_and_recruiters("Plains", caretaker) == [ ("Centaur", "Centaur"), ("Lion", "Centaur", "Centaur") ] assert legion.available_recruits_and_recruiters("Brush", caretaker) == [ ("Gargoyle", "Gargoyle") ] assert legion.available_recruits_and_recruiters("Tower", caretaker) == [ ("Ogre", ), ("Centaur", ), ("Gargoyle", ), ("Warlock", "Titan") ] caretaker.counts["Centaur"] = 0 assert legion.available_recruits_and_recruiters("Plains", caretaker) == [ ("Lion", "Centaur", "Centaur") ] legion2 = Legion.Legion( player, "Rd02", Creature.n2c(["Titan", "Gargoyle", "Gargoyle", "Gargoyle"]), 1) assert legion2.available_recruits_and_recruiters("Tower", caretaker) == [ ("Ogre", ), ("Gargoyle", ), ("Warlock", "Titan"), ("Guardian", "Gargoyle", "Gargoyle", "Gargoyle") ] assert legion2.available_recruits_and_recruiters("Brush", caretaker) == [ ("Gargoyle", "Gargoyle"), ("Cyclops", "Gargoyle", "Gargoyle") ] legion3 = Legion.Legion(player, "Rd03", Creature.n2c(["Colossus"]), 1) assert legion3.available_recruits_and_recruiters("Tundra", caretaker) == [ ("Troll", "Colossus"), ("Warbear", "Colossus"), ("Giant", "Colossus"), ("Colossus", "Colossus") ] assert legion3.available_recruits_and_recruiters( "Mountains", caretaker) == [("Lion", "Colossus"), ("Minotaur", "Colossus"), ("Dragon", "Colossus"), ("Colossus", "Colossus")] assert legion3.available_recruits_and_recruiters("Marsh", caretaker) == [] legion4 = Legion.Legion( player, "Rd04", Creature.n2c(["Behemoth", "Cyclops", "Cyclops", "Cyclops"]), 1) assert legion4.available_recruits_and_recruiters("Brush", caretaker) == [ ("Gargoyle", "Cyclops"), ("Cyclops", "Cyclops"), ("Gorgon", "Cyclops", "Cyclops") ] logging.info(legion4.available_recruits_and_recruiters( "Jungle", caretaker)) assert legion4.available_recruits_and_recruiters("Jungle", caretaker) == [ ("Gargoyle", "Cyclops"), ("Gargoyle", "Behemoth"), ("Cyclops", "Cyclops"), ("Cyclops", "Behemoth"), ("Behemoth", "Cyclops", "Cyclops", "Cyclops"), ("Behemoth", "Behemoth"), ]