@given(strategies=lists(sampled_from(axelrod.strategies),
                   min_size=2,  # Errors are returned if less than 2 strategies
                   max_size=5, unique=True),
           rm=random_module())
    @settings(max_examples=5, timeout=0)  # Very low number of examples

    # Two specific examples relating to cloning of strategies
    @example(strategies=[axelrod.BackStabber, axelrod.MindReader],
             rm=random.seed(0))
    @example(strategies=[axelrod.ThueMorse, axelrod.MindReader],
             rm=random.seed(0))
    def test_property_players(self, strategies, rm):
        players = [s() for s in strategies]
        mp = MoranProcess(players)
        populations = mp.play()
        self.assertEqual(populations, mp.populations)
        self.assertIn(mp.winning_strategy_name, [str(p) for p in players])
Hypothesis test that randomly checks players
dataset/ETHPy150Open Axelrod-Python/Axelrod/axelrod/tests/unit/test_moran.py/TestMoranProcess.test_property_players