Exemple #1
0
 def test_get_ideal_armor_with_multiples_alternate_order(self):
     armor = [
         Armor('cap', 'helmet', 1, 1, 0),
         Armor('iron helmet', 'helmet', 10, 10, 0)
     ] * 4
     party = [CharClass('nailman', [], armor)]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(ideal_armor, {'nailman': armor[1]})
Exemple #2
0
 def test_get_ideal_armor(self):
     chain_armor = Armor('chain armor', 'armor', 10, 100, 0)
     paper_armor = Armor('paper armor', 'armor', 10, 1, 0)
     wooden_armor = Armor('wooden armor', 'armor', 10, 50, 0)
     alice = CharClass('alice', [], [chain_armor])
     bob = CharClass('bob', [], [chain_armor, paper_armor, wooden_armor])
     party = [alice, bob]
     armor = [chain_armor, paper_armor, wooden_armor]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(ideal_armor, {
         'alice': chain_armor,
         'bob': wooden_armor
     })
Exemple #3
0
 def test_regression_fail_to_assign_wooden(self):
     armor = [
         Armor('cap', 'helmet', 10, 1, 0),
         Armor('wooden_helmet', 'helmet', 10, 5, 0),
         Armor('iron_helmet', 'helmet', 10, 10, 0),
     ] * 4
     party = [
         CharClass('mage', [], [armor[i] for i in [0]]),
         CharClass('red mage', [], [armor[i] for i in [0]]),
         CharClass('fighter', [], [armor[i] for i in [0, 1, 2]]),
         CharClass('black belt', [], [armor[i] for i in [0]])
     ]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(
         ideal_armor, {
             'mage': armor[0],
             'fighter': armor[2],
             'red mage': armor[0],
             'black belt': armor[0]
         })
Exemple #4
0
 def test_get_ideal_armor_with_large_arrays(self):
     armor = [
         Armor('nails', 'armor', 10, -5, 0),
         Armor('paper_armor', 'armor', 10, 1, 0),
         Armor('chain_armor', 'armor', 10, 100, 0),
         Armor('steel_armor', 'armor', 10, 101, 0),
         Armor('fire_armor', 'armor', 10, 95, 0),
         Armor('ice_armor', 'armor', 10, 95, 0)
     ]
     party = [
         CharClass('mage', [], [armor[i] for i in [1, 2, 3]]),
         CharClass('fighter', [], [armor[i] for i in [0]]),
         CharClass('red mage', [], [armor[i] for i in [1, 4]]),
         CharClass('black belt', [], [armor[i] for i in [5]])
     ]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(
         ideal_armor, {
             'mage': armor[3],
             'fighter': None,
             'red mage': armor[4],
             'black belt': armor[5]
         })
Exemple #5
0
 def test_get_ideal_armor_with_multiples(self):
     armor = [Armor('cap', 'helmet', 1, 1, 0)] * 4
     armor.append(Armor('iron helmet', 'helmet', 10, 10, 0))
     party = [CharClass('nailman', [], armor)]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(ideal_armor, {'nailman': armor[4]})
Exemple #6
0
 def test_get_ideal_armor_with_negative(self):
     armor = [Armor('nails', 'helmet', 10, -5, 0)]
     party = [CharClass('nailman', [], armor)]
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(ideal_armor, {'nailman': None})
Exemple #7
0
 def test_get_ideal_armor_empty_party(self):
     party = []
     armor = []
     ideal_armor = utils.get_ideal_armor(party, armor)
     self.assertDictEqual(ideal_armor, {})