public void ctor_should_log_seed_with_any_level()
        {
            var logLevels = (LogLevel[])Enum.GetValues(typeof(LogLevel));

            foreach (var logLevel in logLevels)
            {
                var mockXunitOutputHelper = new XunitOutputHelper();
                var mockLogger            = new TestLogger(logLevel);
                var randomTestHelper      = new RandomTestHelper(mockXunitOutputHelper, mockLogger);

                mockXunitOutputHelper.Lines.Should().ContainSingle();
                mockXunitOutputHelper.Lines.First().Should().MatchEquivalentOf($"*seed*{randomTestHelper.Seed}*generated*");

                var expectedLogLevel = new RandomTestHelper.StricterLevelIsLowerComparator().Compare(logLevel, LogLevel.Information) <= 0
                                        ? logLevel
                                        : LogLevel.Information;

                if (logLevel == LogLevel.None)
                {
                    mockLogger.Lines.Should().BeEmpty();
                }
                else
                {
                    mockLogger.Lines.Should().ContainSingle();
                    mockLogger.Lines.First()
                    .Should()
                    .MatchEquivalentOf(
                        $"*{ConsoleLogger.LevelToString(expectedLogLevel)}*{nameof(RandomTestHelper)}*seed*{randomTestHelper.Seed}*generated*");
                }
            }
        }
        public void StricterLevelIsLowerComparator_tests()
        {
            var comparator = new RandomTestHelper.StricterLevelIsLowerComparator();

            comparator.Compare(LogLevel.Trace, LogLevel.Trace).Should().Be(0);
            comparator.Compare(LogLevel.Information, LogLevel.Debug).Should().BeNegative();
            comparator.Compare(LogLevel.Warning, LogLevel.Error).Should().BePositive();
        }