private static void AddRandomHistory(Readmanga manga) { var x = 100000; Parallel.For(0, x, i => { manga.Histories.Add(new MangaReader.Core.Manga.MangaHistory(new Uri(string.Format("https://readmanga.live/btoom/vol1/{0}?mature=1", i % y)))); }); }
public void TestMangaComparer( [Values(nameof(ILibraryFilterableItem.Name), nameof(ILibraryFilterableItem.Created), nameof(ILibraryFilterableItem.DownloadedAt))] string property, [Values] ListSortDirection direction, [Values] bool isManga) { var comparer = new LibraryFilter(); comparer.SortDescription = new SortDescription(property, direction); var utcNow = DateTime.UtcNow; (int compareDifferent, int compareEquals) CompareManga() { IManga manga1 = new Readmanga() { Name = "A-Name", Created = utcNow, DownloadedAt = utcNow }; IManga manga2 = new Readmanga() { Name = "b-name", Created = utcNow.AddMinutes(1), DownloadedAt = utcNow.AddMinutes(1) }; IManga manga3 = new Readmanga() { Name = "a-name", Created = utcNow, DownloadedAt = utcNow }; var i = comparer.Compare(manga1, manga2); var compareEquals1 = comparer.Compare(manga1, manga3); return(i, compareEquals1); } (int compareDifferent, int compareEquals) CompareProxy() { ILibraryFilterableItem manga1 = new MangaProxy(new Readmanga() { Name = "A-Name", Created = utcNow, DownloadedAt = utcNow }); ILibraryFilterableItem manga2 = new MangaProxy(new Readmanga() { Name = "b-name", Created = utcNow.AddMinutes(1), DownloadedAt = utcNow.AddMinutes(1) }); ILibraryFilterableItem manga3 = new MangaProxy(new Readmanga() { Name = "a-name", Created = utcNow, DownloadedAt = utcNow }); var i = comparer.Compare(manga1, manga2); var compareEquals1 = comparer.Compare(manga1, manga3); return(i, compareEquals1); } var(compareDifferent, compareEquals) = isManga ? CompareManga() : CompareProxy(); if (direction == ListSortDirection.Descending) { Assert.Greater(compareDifferent, 0); } else { Assert.Less(compareDifferent, 0); } Assert.AreEqual(0, compareEquals); }