MCPcopy
hub / github.com/PokemonGoF/PokemonGo-Bot / _test_attacks

Method _test_attacks

tests/inventory_test.py:182–214  ·  view source on GitHub ↗
(self, callback, clazz)

Source from the content-addressed store, hash-verified

180 self._test_attacks(charged_attacks, ChargedAttacks)
181
182 def _test_attacks(self, callback, clazz):
183 charged = clazz is ChargedAttacks
184 self.assertIs(callback(), clazz)
185
186 # check consistency
187 attacks = clazz.all_by_dps()
188 number = len(attacks)
189 assert (number > 0)
190 self.assertGreaterEqual(len(clazz.BY_TYPE), 17)
191 self.assertEqual(number, len(clazz.all()))
192 self.assertEqual(number, len(clazz.STATIC_DATA))
193 self.assertEqual(number, len(clazz.BY_NAME))
194 self.assertEqual(number, sum([len(l) for l in clazz.BY_TYPE.values()]))
195
196 # check data
197 prev_dps = float("inf")
198 for attack in attacks: # type: Attack
199 self.assertGreater(attack.id, 0)
200 self.assertGreater(len(attack.name), 0)
201 self.assertIsInstance(attack.type, Type)
202 self.assertGreaterEqual(attack.damage, 0)
203 self.assertGreater(attack.duration, .0)
204 self.assertGreater(attack.energy, 0)
205 self.assertGreaterEqual(attack.dps, 0)
206 assert (.0 <= attack.rate_in_type <= 1.0)
207 self.assertLessEqual(attack.dps, prev_dps)
208 self.assertEqual(attack.is_charged, charged)
209 self.assertIs(attack, clazz.data_for(attack.id))
210 self.assertIs(attack, clazz.by_name(attack.name))
211 assert (attack in clazz.list_for_type(attack.type))
212 assert (attack in clazz.list_for_type(attack.type.name))
213 self.assertIsInstance(attack, ChargedAttack if charged else Attack)
214 prev_dps = attack.dps

Callers 1

test_attacksMethod · 0.95

Calls 5

all_by_dpsMethod · 0.80
by_nameMethod · 0.80
list_for_typeMethod · 0.80
allMethod · 0.45
data_forMethod · 0.45

Tested by

no test coverage detected