public async Task AddressPositionWasRemovedSetsPositionToNull(
            AddressId addressId,
            WkbGeometry geometry,
            Provenance provenance,
            AddressWasRegistered addressWasRegistered,
            AddressPositionWasRemoved addressPositionWasRemoved)
        {
            var addressPositionWasCorrected =
                new AddressPositionWasCorrected(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Entry, GeometryHelpers.CreateEwkbFrom(geometry)));

            ((ISetProvenance)addressPositionWasCorrected).SetProvenance(provenance);

            await Assert(
                Given(addressWasRegistered,
                      addressPositionWasCorrected, addressPositionWasRemoved)
                .Expect(ctx => ctx.AddressDetail, new AddressDetailItem
            {
                AddressId             = addressWasRegistered.AddressId,
                StreetNameId          = addressWasRegistered.StreetNameId,
                HouseNumber           = addressWasRegistered.HouseNumber,
                Position              = null,
                PositionSpecification = null,
                PositionMethod        = null,
                VersionTimestamp      = addressPositionWasRemoved.Provenance.Timestamp
            }));
        }
예제 #2
0
        public void WithRemovedPositionWhenSameLifetimeOfPreviouslyRemovedPosition(
            Fixture fixture,
            AddressId addressId,
            AddressWasRegistered addressWasRegistered,
            WkbGeometry wkbGeometry,
            AddressHouseNumberPositionWasImportedFromCrab addressHouseNumberPositionWasImportedFromCrab,
            AddressPositionWasRemoved addressPositionWasRemoved,
            AddressHouseNumberPositionWasImportedFromCrab addressHouseNumberPositionWasImportedFromCrabDelete,
            ImportHouseNumberPositionFromCrab importHouseNumberPositionFromCrab,
            CrabLifetime lifetime)
        {
            var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Lot, GeometryHelpers.CreateEwkbFrom(wkbGeometry)));

            ((ISetProvenance)addressWasPositioned).SetProvenance(fixture.Create <Provenance>());
            addressHouseNumberPositionWasImportedFromCrab = addressHouseNumberPositionWasImportedFromCrab
                                                            .WithWkbGeometry(wkbGeometry)
                                                            .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot)
                                                            .WithBeginDate(lifetime.BeginDateTime);
            addressHouseNumberPositionWasImportedFromCrabDelete = addressHouseNumberPositionWasImportedFromCrabDelete
                                                                  .WithWkbGeometry(wkbGeometry)
                                                                  .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot)
                                                                  .WithBeginDate(lifetime.BeginDateTime)
                                                                  .WithModification(CrabModification.Delete);

            importHouseNumberPositionFromCrab = importHouseNumberPositionFromCrab
                                                .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromStand)
                                                .WithLifetime(lifetime);

            Assert(new Scenario()
                   .Given(addressId,
                          addressWasRegistered,
                          addressWasPositioned,
                          addressHouseNumberPositionWasImportedFromCrab,
                          addressPositionWasRemoved,
                          addressHouseNumberPositionWasImportedFromCrabDelete
                          )
                   .When(importHouseNumberPositionFromCrab)
                   .Then(addressId,
                         new AddressWasPositioned(addressId,
                                                  new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Stand, GeometryHelpers.CreateEwkbFrom(importHouseNumberPositionFromCrab.AddressPosition))),
                         importHouseNumberPositionFromCrab.ToLegacyEvent()));
        }
 public async Task AddressPositionWasRemovedAfterRemoveIsSetToNull(
     AddressWasRegistered addressWasRegistered,
     AddressWasRemoved addressWasRemoved,
     AddressPositionWasRemoved addressPositionWasRemoved)
 {
     await Assert(
         Given(addressWasRegistered,
               addressWasRemoved,
               addressPositionWasRemoved)
         .Expect(ctx => ctx.AddressDetail, new AddressDetailItem
     {
         AddressId             = addressWasRegistered.AddressId,
         StreetNameId          = addressWasRegistered.StreetNameId,
         HouseNumber           = addressWasRegistered.HouseNumber,
         Position              = null,
         PositionMethod        = null,
         PositionSpecification = null,
         Removed          = true,
         VersionTimestamp = addressPositionWasRemoved.Provenance.Timestamp
     }));
 }
예제 #4
0
 private void When(AddressPositionWasRemoved @event)
 {
     _geometry = null;
 }