public LogisticsPartnerLogicTests() { var config = new MapperConfiguration(cfg => cfg.AddProfile(new SKSLayerMapper())); _mapper = new AutoMapper.Mapper(config); _mock = new Mock <IParcelRepository>(); _controller = new LogisticsPartnerLogic(_mock.Object, _mapper, new LoggerFactory().CreateLogger <LogisticsPartnerLogic>()); }
public void TransferParcel_ValidParcel() { string trackingid = "ABCD12345"; float weight = 1.0f; Recipient sender = new Recipient() { Name = "Martin", City = "Wien", Country = "Österreich", PostalCode = "1100", Street = "Radnitzkygasse 16" }; Recipient recipient = new Recipient() { Name = "Simon", City = "Wien", Country = "Österreich", PostalCode = "1100", Street = "Suchenwirtplatz 10" }; Parcel p = new Parcel() { Sender = sender, Recipient = recipient, Weight = weight, TrackingId = trackingid }; // geoMock Setup Mock <IGeoCodingAgent> geoMock = new Mock <IGeoCodingAgent>(); string senderGeoString = p.Sender.ToGeoCodingString(); string recipientGeoString = p.Recipient.ToGeoCodingString(); Geocoding.Location senderLoc = new Geocoding.Location(1, 1); Geocoding.Location recipientLoc = new Geocoding.Location(2, 2); geoMock.Setup(foo => foo.EncodeAddress(recipientGeoString)).Returns(recipientLoc); geoMock.Setup(foo => foo.EncodeAddress(senderGeoString)).Returns(senderLoc); //hopMock Setup Mock <IHopRepository> hopMock = new Mock <IHopRepository>(); //var senderLoc.Latitude, senderLoc.Longitude = senderLoc.ToGeoPoint(); //var recipientLoc.Latitude, recipientLoc.Longitude = recipientLoc.ToGeoPoint(); DA.Hop senderHop = new DA.Warehouse() { Code = "ABCD", Description = "senderHop" }; DA.Hop recipientHop = new DA.Warehouse() { Code = "EFGH", Description = "recipientHop" }; hopMock.Setup(foo => foo.GetByCoordinates(senderLoc.Latitude, senderLoc.Longitude)).Returns(senderHop); hopMock.Setup(foo => foo.GetByCoordinates(recipientLoc.Latitude, recipientLoc.Longitude)).Returns(recipientHop); // wareMock Setup Mock <IWarehouseRepository> wareMock = new Mock <IWarehouseRepository>(); DA.Warehouse fullWa = new DA.Warehouse() { Code = "A1B2", Description = "fullWa" }; wareMock.Setup(foo => foo.Read()).Returns(fullWa); // routeMock Setup Mock <IRouteCalculator> routeMock = new Mock <IRouteCalculator>(); Warehouse fullWaBusiness = this.mapper.Map <Warehouse>(fullWa); Hop senderHopBusiness = this.mapper.Map <Hop>(senderHop); Hop recipientHopBusiness = this.mapper.Map <Hop>(recipientHop); List <HopArrival> arrivals = new List <HopArrival>(); arrivals.Add(new HopArrival(senderHopBusiness)); arrivals.Add(new HopArrival(recipientHopBusiness)); routeMock.Setup(foo => foo.CalculateRoute(fullWaBusiness, senderHop.Code, recipientHop.Code)).Returns(arrivals); // parcelMock Setup Mock <IParcelRepository> parcelMock = new Mock <IParcelRepository>(); parcelMock.Setup(foo => foo.Create(It.IsAny <DA.Parcel>())); ILogisticsPartnerLogic logisticsPartnerLogic = new LogisticsPartnerLogic(mapper, parcelMock.Object, wareMock.Object, hopMock.Object, geoMock.Object, routeMock.Object, NullLogger <LogisticsPartnerLogic> .Instance); string parcelID = logisticsPartnerLogic.TransferParcel(p.TrackingId, p); Assert.Equal(trackingid, parcelID); }
public void TransferParcel_ThrowsNoHopException() { string trackingid = "ABCD12345"; float weight = 1.0f; Recipient sender = new Recipient() { Name = "Martin", City = "Wien", Country = "Österreich", PostalCode = "1100", Street = "Radnitzkygasse 16" }; Recipient recipient = new Recipient() { Name = "Simon", City = "Wien", Country = "Österreich", PostalCode = "1100", Street = "Suchenwirtplatz 10" }; Parcel p = new Parcel() { Sender = sender, Recipient = recipient, Weight = weight, TrackingId = trackingid }; // geoMock Setup Mock <IGeoCodingAgent> geoMock = new Mock <IGeoCodingAgent>(); string senderGeoString = p.Sender.ToGeoCodingString(); string recipientGeoString = p.Recipient.ToGeoCodingString(); Geocoding.Location senderLoc = new Geocoding.Location(1, 1); Geocoding.Location recipientLoc = new Geocoding.Location(2, 2); geoMock.Setup(foo => foo.EncodeAddress(recipientGeoString)).Returns(recipientLoc); geoMock.Setup(foo => foo.EncodeAddress(senderGeoString)).Returns(senderLoc); //hopMock Setup Mock <IHopRepository> hopMock = new Mock <IHopRepository>(); //var senderLoc.Latitude, senderLoc.Longitude = senderLoc.ToGeoPoint(); //var recipientLoc.Latitude, recipientLoc.Longitude = recipientLoc.ToGeoPoint(); DA.Hop senderHop = new DA.Warehouse() { Code = "ABCD", Description = "senderHop" }; DA.Hop recipientHop = new DA.Warehouse() { Code = "EFGH", Description = "recipientHop" }; hopMock.Setup(foo => foo.GetByCoordinates(senderLoc.Latitude, senderLoc.Longitude)).Returns((DA.Hop)null); hopMock.Setup(foo => foo.GetByCoordinates(recipientLoc.Latitude, recipientLoc.Longitude)).Returns((DA.Hop)null); // wareMock Setup Mock <IWarehouseRepository> wareMock = new Mock <IWarehouseRepository>(); // routeMock Setup Mock <IRouteCalculator> routeMock = new Mock <IRouteCalculator>(); // parcelMock Setup Mock <IParcelRepository> parcelMock = new Mock <IParcelRepository>(); ILogisticsPartnerLogic logisticsPartnerLogic = new LogisticsPartnerLogic(mapper, parcelMock.Object, wareMock.Object, hopMock.Object, geoMock.Object, routeMock.Object, NullLogger <LogisticsPartnerLogic> .Instance); Assert.Throws <NoHopException>(() => logisticsPartnerLogic.TransferParcel(p.TrackingId, p)); }