def test_different_spreads_remain(self): s1 = ('jolly', '0,0,0,252,4,252') s2 = ('adamant', '0,0,4,252,0,252') s3 = ('jolly', '0,4,0,252,0,252') s4 = ('jolly', '4,0,0,252,0,252') spreads = [s1, s2, s3, s4] expected_result = [s1, s2] self.assertEqual(expected_result, remove_duplicate_spreads(spreads))
def get_possible_spreads(self, spreads): # update this once you can use previous attacks to rule out spreads cumulative_percentage = 0 possible_spreads = [] for s in spreads: cumulative_percentage += s[2] possible_spreads.append(s[:2]) if s[2] < 20 or cumulative_percentage >= 80: break return remove_duplicate_spreads(possible_spreads)
def test_only_one_spread_remains_when_all_are_alike(self): s1 = ('jolly', '0,0,0,252,4,252') s2 = ('jolly', '0,0,4,252,0,252') s3 = ('jolly', '0,4,0,252,0,252') s4 = ('jolly', '4,0,0,252,0,252') spreads = [s1, s2, s3, s4] expected_result = [s1] self.assertEqual(expected_result, remove_duplicate_spreads(spreads))