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); }
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(); }
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); }