예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 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)));
 }
예제 #4
0
        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())));
        }