public CatiInstrumentDto MapToCatiInstrumentDto(ISurvey instrument, List <DateTime> surveyDays) { var catiInstrument = new CatiInstrumentDto { Name = instrument.Name, ServerParkName = instrument.ServerPark, InstallDate = instrument.InstallDate, Status = instrument.Status, DataRecordCount = GetNumberOfDataRecords(instrument as ISurvey2), SurveyDays = surveyDays, Active = surveyDays.Any(s => s.Date <= DateTime.Today) && surveyDays.Any(s => s.Date >= DateTime.Today), ActiveToday = surveyDays.Any(s => s.Date == DateTime.Today) }; catiInstrument.DeliverData = SetDeliverDataWhichIncludesADayGraceFromLastSurveyDay(catiInstrument); return(catiInstrument); }
public void Given_A_ServerPark_When_I_Call_GetCatiInstrument_Then_I_Get_A_Correct_CatiInstrumentDto_Returned() { //arrange const string instrumentName = "OPN2010A"; const string serverParkName = "ServerParkA"; var serverParks = new List <ServerParkDto> { new ServerParkDto { Name = serverParkName }, }; var survey1Mock = new Mock <ISurvey>(); survey1Mock.Setup(s => s.Name).Returns(instrumentName); survey1Mock.Setup(s => s.ServerPark).Returns(serverParkName); _blaiseApiMock.Setup(b => b.GetInstalledSurvey(instrumentName, serverParkName)).Returns(survey1Mock.Object); _serverParkServiceMock.Setup(i => i.GetServerParks()).Returns(serverParks); var surveyDays1 = new List <DateTime> { DateTime.Today.AddDays(-1) }; _blaiseApiMock.Setup(b => b.GetSurveyDays(instrumentName, serverParkName)) .Returns(surveyDays1); var catiInstrument1 = new CatiInstrumentDto { Name = "OPN2010A", SurveyDays = surveyDays1 }; _mapperMock.Setup(m => m.MapToCatiInstrumentDto(survey1Mock.Object, surveyDays1)).Returns(catiInstrument1); //act var result = _sut.GetCatiInstrument(serverParkName, instrumentName); //assert Assert.IsNotNull(result); Assert.IsInstanceOf <CatiInstrumentDto>(result); Assert.AreSame(catiInstrument1, result); }
private static bool SetDeliverDataWhichIncludesADayGraceFromLastSurveyDay(CatiInstrumentDto catiInstrument) { return(catiInstrument.Active || catiInstrument.SurveyDays.All(s => s.Date < DateTime.Today) && catiInstrument.SurveyDays.Any(s => s.Date == DateTime.Today.AddDays(-1))); }
public void Given_I_Call_GetCatiInstruments_Then_I_Get_A_Correct_List_Of_CatiInstrumentDto_Returned() { //arrange const string serverPark1 = "ServerParkA"; const string serverPark2 = "ServerParkB"; var serverParkList = new List <string> { serverPark1, serverPark2 }; const string instrument1 = "OPN2010A"; var survey1Mock = new Mock <ISurvey>(); survey1Mock.Setup(s => s.Name).Returns(instrument1); survey1Mock.Setup(s => s.ServerPark).Returns(serverPark1); const string instrument2 = "OPN2010B"; var survey2Mock = new Mock <ISurvey>(); survey2Mock.Setup(s => s.Name).Returns(instrument2); survey2Mock.Setup(s => s.ServerPark).Returns(serverPark2); _blaiseServerParkApiMock.Setup(b => b.GetNamesOfServerParks()).Returns(serverParkList); _blaiseCatiApiMock.Setup(bc => bc.GetInstalledSurveys(serverPark1)).Returns(new List <ISurvey> { survey1Mock.Object }); _blaiseCatiApiMock.Setup(bc => bc.GetInstalledSurveys(serverPark2)).Returns(new List <ISurvey> { survey2Mock.Object }); var surveyDays1 = new List <DateTime> { DateTime.Today.AddDays(-1) }; _blaiseCatiApiMock.Setup(b => b.GetSurveyDays(instrument1, serverPark1)) .Returns(surveyDays1); var surveyDays2 = new List <DateTime> { DateTime.Today }; _blaiseCatiApiMock.Setup(b => b.GetSurveyDays(instrument2, serverPark2)) .Returns(surveyDays2); var catiInstrument1 = new CatiInstrumentDto { Name = "OPN2010A", SurveyDays = surveyDays1 }; _mapperMock.Setup(m => m.MapToCatiInstrumentDto(survey1Mock.Object, surveyDays1)) .Returns(catiInstrument1); var catiInstrument2 = new CatiInstrumentDto { Name = "OPN2010B", SurveyDays = surveyDays2 }; _mapperMock.Setup(m => m.MapToCatiInstrumentDto(survey2Mock.Object, surveyDays2)) .Returns(catiInstrument2); //act var result = _sut.GetCatiInstruments().ToList(); //assert Assert.IsNotNull(result); Assert.IsInstanceOf <List <CatiInstrumentDto> >(result); Assert.IsNotEmpty(result); Assert.AreEqual(2, result.Count); Assert.True(result.Any(c => c.Name == instrument1 && c.SurveyDays.Any(s => s == surveyDays1.First()))); Assert.True(result.Any(c => c.Name == instrument2 && c.SurveyDays.Any(s => s == surveyDays2.First()))); }