public void TrackArrival_ValidInputArguments_ReturnsTrackingInformation()
        {
            var mockMapper = new Mock <AutoMapper.IMapper>();

            mockMapper.Setup(m => m.Map <Entities.Parcel>(It.IsAny <DataAccess.Entities.Parcel>())).Returns(validBLParcel);
            mockMapper.Setup(m => m.Map <IO.Swagger.Models.TrackingInformation>(It.IsAny <Entities.TrackingInformation>())).Returns(validSwagInfo);
            var mapper = mockMapper.Object;
            var mockTrackingLogicLogger = new Mock <ILogger <TrackingLogic> >();
            ILogger <TrackingLogic> trackingLogicLogger = mockTrackingLogicLogger.Object;

            TrackingLogic trLogic = new TrackingLogic(mockParcelRepo, mockHopRepo, trackingLogicLogger, mapper);

            IO.Swagger.Models.TrackingInformation swagTrInfo = trLogic.TrackParcel("TN000001");

            Assert.IsNotNull(swagTrInfo);
        }
        private void SetupSwagTrackingInfo()
        {
            var hop1 = new IO.Swagger.Models.HopArrival("WH01", DateTime.Now);
            var hop2 = new IO.Swagger.Models.HopArrival("WH02", DateTime.Now.AddDays(1));
            var hop3 = new IO.Swagger.Models.HopArrival("WH03", DateTime.Now.AddDays(2));
            var hop4 = new IO.Swagger.Models.HopArrival("TR01", DateTime.Now.AddDays(3));

            List <IO.Swagger.Models.HopArrival> visited = new List <IO.Swagger.Models.HopArrival>();

            visited.Add(hop1);
            List <IO.Swagger.Models.HopArrival> future = new List <IO.Swagger.Models.HopArrival>();

            future.Add(hop2);
            future.Add(hop3);
            future.Add(hop4);
            validSwagInfo = new IO.Swagger.Models.TrackingInformation(IO.Swagger.Models.TrackingInformation.StateEnum.InTransportEnum, visited, future);
        }