def test_strategy(self):

        self.first_play_test(C)

        # Forgives three defections
        self.responses_test([C], [D], [C], tournament_length=200)
        self.responses_test([C, C], [D, D], [C], tournament_length=200)
        self.responses_test([C, C, C], [D, D, D], [C], tournament_length=200)
        self.responses_test([C, C, C, C], [D, D, D, D], [D],
                            tournament_length=200)

        # Defects on rounds 199, and 200 no matter what
        self.responses_test([C] * 197 , [C] * 197, [C, D, D],
                            tournament_length=200)
        # Test that exceeds tournament length
        self.responses_test([C] * 198 , [C] * 198, [D, D, C],
                            tournament_length=200)
        # But only if the tournament is known
        self.responses_test([C] * 198 , [C] * 198, [C, C, C],
                            tournament_length=-1)
Forgives the first 3 defections but on the fourth
dataset/ETHPy150Open Axelrod-Python/Axelrod/axelrod/tests/unit/test_backstabber.py/TestBackStabber.test_strategy