public async Task WpTest2RecentChangesGeneratorTest1()
        {
            var site      = await WpTest2SiteAsync;
            var generator = new RecentChangesGenerator(site)
            {
                LastRevisionsOnly = true, PagingSize = 20
            };
            var pages = generator.EnumPages().Take(1000).ToList();

            TracePages(pages);
            AssertTitlesDistinct(pages);
        }
        public async Task WikiaRecentChangesGeneratorTest1()
        {
            var site      = await WikiaTestSiteAsync;
            var generator = new RecentChangesGenerator(site)
            {
                LastRevisionsOnly = true,
                TypeFilters       = RecentChangesFilterTypes.Edit
            };
            var pages = generator.EnumPages().Take(2000).ToList();

            TracePages(pages);
            // Sometimes the assertion fails for wikia.
            AssertTitlesDistinct(pages);
        }
        public async Task WpLzhRecentChangesGeneratorTest1()
        {
            var site      = await WpLzhSiteAsync;
            var generator = new RecentChangesGenerator(site)
            {
                LastRevisionsOnly = true,
                // BotFilter = PropertyFilterOption.WithProperty,
                MinorFilter     = PropertyFilterOption.WithProperty,
                AnonymousFilter = PropertyFilterOption.WithoutProperty,
                TypeFilters     = RecentChangesFilterTypes.Create | RecentChangesFilterTypes.Edit,
            };
            var pages = generator.EnumPages(PageQueryOptions.FetchContent).Take(100).ToList();

            TracePages(pages);
            AssertTitlesDistinct(pages);
            foreach (var p in pages)
            {
                var flags = p.LastRevision.Flags;
                Assert.True(flags != RevisionFlags.None);
                Assert.False(flags.HasFlag(RevisionFlags.Anonymous));
                Assert.True(flags.HasFlag(RevisionFlags.Minor));
            }
        }