def test_firefox_deterministic_output(self, faker: Faker, num_samples: int) -> None:
        """Check whether ``faker.firefox()`` is deterministic, given the same seed."""

        for _ in range(num_samples):
            # GIVEN a (new) random seed
            seed = faker.random.random()

            # AND a DevOpsTester using a Faker instance seeded with this seed

            # It is a bit tricky to feed the faker with its own random
            # value, but it is sufficient for this particular test
            faker.seed_instance(seed)

            # AND the DevOpsTester using the fake library tomorrow
            with freeze_time(dt.datetime.now() + self.one_day):
                # AND the DevOpsTester requests a faked Mozilla Firefox web browser user agent (str)
                fake_firefox_ua_output_tomorrow = faker.firefox()

            # WHEN the DevOpsTester would use the fake library with the same seed
            faker.seed_instance(seed)

            # AND the DevOpsTester would use the fake library some time later
            with freeze_time(dt.datetime.max - self.one_day):
                # AND the DevOpsTester requests again faked Mozilla Firefox web browser user agent
                fake_firefox_ua_output_much_later = faker.firefox()

            # THEN the later Firefox U/A output should (always) be equal to the previous one
            assert fake_firefox_ua_output_much_later == fake_firefox_ua_output_tomorrow
Check whether ``faker.firefox()`` is deterministic, given the same seed.
tests/providers/test_user_agent.py