コード例 #1
0
        protected override void ProcessRecord()
        {
            WriteVerbose("Getting wallpaper...");

            var wallheavenClient = new WallhavenClient(new WebClientFactory());
            List <WallpaperInfo> wallpaperInfos = new List <WallpaperInfo>();

            if (Latest.IsPresent)
            {
                wallpaperInfos = wallheavenClient.GetLatest(PageNumber);
            }
            else if (Random.IsPresent)
            {
                wallpaperInfos = wallheavenClient.GetRandom(PageNumber);
            }
            else if (Search.IsPresent)
            {
                var searchParams = new SearchParameter
                {
                    Page        = PageNumber,
                    Categories  = GetCategory(),
                    Sorting     = SearchSorting,
                    Order       = SearchOrder,
                    Query       = SearchQuery,
                    Purity      = GetPurity(),
                    Ratios      = Ratios,
                    Resolutions = Resolutions
                };

                wallpaperInfos = wallheavenClient.Search(searchParams);
            }

            WriteVerbose($"Got {wallpaperInfos.Count} wallpaper");
            wallpaperInfos.ForEach(WriteObject);
        }
コード例 #2
0
        public void GetRandom_NoPageNumber_CallsUrlWithPageNumber(int pageNumber)
        {
            var webClientMock    = CreateWebClientMock(new Uri($"https://alpha.wallhaven.cc/random?page={pageNumber}"));
            var webClientFactory = CreateWebClientFactory(webClientMock.Object);
            var client           = new WallhavenClient(webClientFactory);

            client.GetRandom(pageNumber);

            webClientMock.VerifyAll();
        }
コード例 #3
0
        public void GetRandom_NoPageNumber_ReturnsTheImagesOfFirstPage()
        {
            var webClientMock    = CreateWebClientMock(includeDetailPageData: true);
            var webClientFactory = CreateWebClientFactory(webClientMock.Object);
            var client           = new WallhavenClient(webClientFactory);

            List <WallpaperInfo> latestWallpapers = client.GetRandom();

            Assert.That(latestWallpapers, Is.Not.Empty);
            Assert.That(latestWallpapers.All(IsValidWallpaperInfo), Is.True);
        }