public async Task <IList <RoverImageDto> > GetRoverImageByDateAsync(RoverImageInputDto inputDate) { var roverList = Enum.GetValues(typeof(RoverName)).Cast <RoverName>(); var tasklist = roverList.Select(item => GetRoverImageByRoverNameAndDateFromCacheAsync(item.ToString(), inputDate)).ToList(); return((await Task.WhenAll(tasklist)).SelectMany(d => d).ToList()); }
public AutoMapperTest() { Setup(); _mockedService = new Mock <MarsRoverService>(UnitySetup.Resolve <IApplicationSettings>()) { CallBase = true }; _roverInput = new RoverImageInputDto() { ImageDate = new DateTime(2016, 1, 1) }; }
public async Task GetRoverImage_Count_Should_Zero_For_Past() { //Arrange var input = new RoverImageInputDto() { ImageDate = new DateTime(1900, 1, 1) }; //Act var result = (await _marsRoverService.GetRoverImageByDateAsync(input)); //Assert result.Count.ShouldBe(0); }
public async Task GetRoverImage_Count_Should_Always_BeSame(int year, int month, int day, int resultCount) { //Arrange var input = new RoverImageInputDto() { ImageDate = new DateTime(year, month, day) }; //Act var result = (await _marsRoverService.GetRoverImageByDateAsync(input)); //Assert result.Count.ShouldBe(resultCount); }
public async Task <IList <RoverImageDto> > GetRoverImageByRoverNameAndDateFromCacheAsync(string roverName, RoverImageInputDto inputDate) { //TODO: implement Caching layer return(Mapper.Map <IList <RoverImageDto> >((await GetRoverImageByRoverNameAndDateAsync(roverName, inputDate.ImageDate)).Photos)); }