def test_remove_impossible_suspects(self): """should remove impossible suspects from base suspect set""" cards = [ {'suspects': {'pto', 'lsl', 'jco'}, 'match_count': 1}, {'suspects': {'nnn', 'pto', 'hbu'}, 'match_count': 2}, {'suspects': {'kca', 'pto', 'lel'}, 'match_count': 2}, {'suspects': {'kca', 'nnn', 'lsl'}, 'match_count': 0} ] player.remove_impossible_suspects(cards, self.base_suspects) nose.assert_set_equal(self.base_suspects, {'pto', 'jco', 'lel', 'hbu'})
def test_fail_silently(self): """should not raise exception if suspect has already been removed""" cards = [ {'suspects': ['lel', 'lsl', 'kca'], 'match_count': 0}, {'suspects': ['jco', 'lsl', 'hbu'], 'match_count': 1}, {'suspects': ['kca', 'nnn', 'pto'], 'match_count': 2}, {'suspects': ['lel', 'hbu', 'kca'], 'match_count': 0} ] player.remove_impossible_suspects(cards, self.base_suspects) nose.assert_set_equal(self.base_suspects, {'pto', 'jco', 'nnn'})
def test_same_reference(self): """should modify base suspect set""" cards = [] old_base_suspects = self.base_suspects player.remove_impossible_suspects(cards, self.base_suspects) nose.assert_set_equal(self.base_suspects, old_base_suspects)