public void Ctor__EmitsNewBookEvent( TrackingId trackingId, RouteSpecification routeSpec ) { // ACT var sut = new Domain.Shipping.Cargo.Cargo(trackingId, routeSpec); // ASSERT Assert.Equal(routeSpec, sut.RouteSpec); Assert.Equal(routeSpec, sut.Delivery.RouteSpec); sut.Events[0].Should().BeEquivalentTo(new Events.NewBooked(trackingId, routeSpec)); }
public void ChangeRoute__EmitsAssignedToItineraryEvent_and_EmitsDeliveryStateChangedEvent( Domain.Shipping.Cargo.Cargo sut, RouteSpecification routeSpec ) { // ACT sut.ChangeRoute(routeSpec); // ASSERT Assert.Equal(routeSpec, sut.RouteSpec); Assert.Equal(routeSpec, sut.Delivery.RouteSpec); sut.Events[1].Should().BeEquivalentTo(new Events.RouteChanged(sut.TrackingId, routeSpec)); sut.Events[2].Should().BeEquivalentTo(new Events.DeliveryStateChanged(sut.TrackingId, sut.Delivery)); }
public void RegisterHandlingEvent__EmitsHandlingEventRegisteredEvent_and_EmitsDeliveryStateChangedEvent( Domain.Shipping.Cargo.Cargo sut, HandlingEvent @event ) { // ACT sut.RegisterHandlingEvent(@event); // ASSERT Assert.Equal(@event, sut.LastHandlingEvent); Assert.Equal(@event, sut.Delivery.LastHandlingEvent); sut.Events[1].Should().BeEquivalentTo(new Events.HandlingEventRegistered(@event)); sut.Events[2].Should().BeEquivalentTo(new Events.DeliveryStateChanged(sut.TrackingId, sut.Delivery)); }
public void AssignToItinerary__EmitsAssignedToItineraryEvent_and_EmitsDeliveryStateChanged( Domain.Shipping.Cargo.Cargo sut ) { // ARRANGE var itinerary = new Fixture().Customize(new DefaultItineraryCustomization()).Create <Itinerary>(); // ACT sut.AssignToItinerary(itinerary); // ASSERT Assert.Equal(itinerary, sut.Itinerary); Assert.Equal(itinerary, sut.Delivery.Itinerary); sut.Events[1].Should().BeEquivalentTo(new Events.AssignedToItinerary(sut.TrackingId, itinerary)); sut.Events[2].Should().BeEquivalentTo(new Events.DeliveryStateChanged(sut.TrackingId, sut.Delivery)); }
public void ChangeRoute__NoRouteSpecGiven__ThrowsArgumentNullException( Domain.Shipping.Cargo.Cargo sut ) { Assert.Throws <ArgumentNullException>(() => sut.ChangeRoute(null)); }
public void AssignToItinerary__NoItineraryGiven__ThrowsArgumentNullException( Domain.Shipping.Cargo.Cargo sut ) { Assert.Throws <ArgumentNullException>(() => sut.AssignToItinerary(null)); }