public void updateCargo() { TrackingId trackingId = trackingIdFactory.nextTrackingId(); RouteSpecification routeSpecification = new RouteSpecification(L.HONGKONG, L.GOTHENBURG, DateTime.Parse("2009-10-15")); Cargo cargo = new Cargo(trackingId, routeSpecification); cargoRepository.store(cargo); HandlingEvent handlingEvent = handlingEventFactory.createHandlingEvent(DateTime.Parse("2009-10-01 14:30"), cargo.TrackingId, V.HONGKONG_TO_NEW_YORK.VoyageNumber, L.HONGKONG.UnLocode, HandlingActivityType.LOAD, new OperatorCode("ABCDE")); handlingEventRepository.store(handlingEvent); Assert.That(handlingEvent.Activity, Is.Not.EqualTo(cargo.MostRecentHandlingActivity)); cargoUpdater.updateCargo(handlingEvent.SequenceNumber); Assert.That(handlingEvent.Activity, Is.EqualTo(cargo.MostRecentHandlingActivity)); Assert.True(handlingEvent.Activity != cargo.MostRecentHandlingActivity); systemEvents.AssertWasCalled(se => se.notifyOfCargoUpdate(cargo)); }