Пример #1
0
        private IEventCentricTestSpecificationBuilder ExtraScenarioAddressGetRetired(Fixture fixture,
                                                                                     CrabHouseNumberId crabHouseNumberId,
                                                                                     WkbGeometry geometry1,
                                                                                     WkbGeometry geometry2,
                                                                                     WkbGeometry geometry3)
        {
            var addressId = new AddressId(crabHouseNumberId.CreateDeterministicId());

            var command = new ImportHouseNumberFromCrab(
                crabHouseNumberId,
                _streetNameId,
                _houseNumber,
                fixture.Create <GrbNotation>(),
                new CrabLifetime(LocalDateTime.FromDateTime(new DateTime(1830, 1, 1)), LocalDateTime.FromDateTime(new DateTime(2014, 10, 3))),
                new CrabTimestamp(Instant.FromDateTimeOffset(new DateTimeOffset(2014, 10, 17, 20, 26, 30, 480, TimeSpan.Zero))),
                new CrabOperator("13029:kenisils"),
                CrabModification.Historize,
                Enum.Parse <CrabOrganisation>("1"));

            return(new AutoFixtureScenario(fixture)
                   .Given(Scenario10(fixture, crabHouseNumberId, geometry1, geometry2, geometry3))
                   .When(command)
                   .Then(addressId,
                         new AddressWasRetired(addressId),
                         new AddressPositionWasCorrected(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Parcel, GeometryHelpers.CreateEwkbFrom(geometry2))),
                         command.ToLegacyEvent()));
        }
 public void ThenAddressRemovedException(
     Fixture fixture,
     AddressId addressId,
     ImportHouseNumberFromCrab importHouseNumberFromCrab)
 {
     Assert(RemovedAddressScenario(fixture)
            .When(importHouseNumberFromCrab)
            .Throws(new AddressRemovedException($"Cannot change removed address for address id {addressId}")));
 }
        public void ThenAddressRemovedExceptionIfModificationIsDelete(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab.WithCrabModification(CrabModification.Delete);

            Assert(RemovedAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Throws(new AddressRemovedException($"Cannot change removed address for address id {addressId}")));
        }
        public void ThenNoStatusChangeIfLifetimeIsFinite(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab
                                        .WithLifetime(new Fixture().Customize(new NodaTimeCustomization()).Customize(new WithFiniteLifetime()).Create <CrabLifetime>());

            Assert(RetiredAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
 public void ThenAddressStatusWasRemovedIfPreviousStatusWasRemoved(
     Fixture fixture,
     AddressId addressId,
     ImportHouseNumberFromCrab importHouseNumberFromCrab)
 {
     Assert(RegisteredAddressScenario(fixture)
            .Given <AddressStatusWasRemoved>(addressId)
            .Given <AddressWasRetired>(addressId)
            .When(importHouseNumberFromCrab)
            .Then(addressId,
                  new AddressStatusWasRemoved(addressId),
                  importHouseNumberFromCrab.ToLegacyEvent()));
 }
Пример #6
0
 private static void ImportHouseNumberFromCrab(Address address, ImportHouseNumberFromCrab message)
 {
     address.ImportHouseNumberFromCrab(
         message.HouseNumberId,
         message.StreetNameId,
         message.HouseNumber,
         message.GrbNotation,
         message.Lifetime,
         message.Timestamp,
         message.Operator,
         message.Modification,
         message.Organisation);
 }
Пример #7
0
 public static ImportHouseNumberFromCrab WithInfiniteLifetime(this ImportHouseNumberFromCrab command)
 {
     return(new ImportHouseNumberFromCrab(
                command.HouseNumberId,
                command.StreetNameId,
                command.HouseNumber,
                command.GrbNotation,
                new CrabLifetime(new Fixture().Create <LocalDateTime>(), null),
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
Пример #8
0
 public static ImportHouseNumberFromCrab WithLifetime(this ImportHouseNumberFromCrab command, CrabLifetime lifetime)
 {
     return(new ImportHouseNumberFromCrab(
                command.HouseNumberId,
                command.StreetNameId,
                command.HouseNumber,
                command.GrbNotation,
                lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
Пример #9
0
 public static AddressHouseNumberWasImportedFromCrab ToLegacyEvent(this ImportHouseNumberFromCrab command)
 {
     return(new AddressHouseNumberWasImportedFromCrab(
                command.HouseNumberId,
                command.StreetNameId,
                command.HouseNumber,
                command.GrbNotation,
                command.Lifetime,
                command.Timestamp,
                command.Operator,
                command.Modification,
                command.Organisation));
 }
Пример #10
0
        public void ThenHouseNumberChanged(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab
                                        .WithHouseNumber(new Fixture().Create <HouseNumber>());

            Assert(RegisteredAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressHouseNumberWasChanged(addressId, importHouseNumberFromCrab.HouseNumber),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
Пример #11
0
        public void ThenAddressWasRemovedIfModificationIsDeleted(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab
                                        .WithCrabModification(CrabModification.Delete);

            Assert(RegisteredAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressWasRemoved(addressId),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
Пример #12
0
        public void GivenNoStreetNameThenAddressStreetNameWasChanged(
            Fixture fixture,
            AddressId addressId,
            StreetNameId streetNameId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab
                                        .WithStreetNameId(new Fixture().Customize(new WithStreetNameIdExcept(streetNameId)).Create <CrabStreetNameId>());

            Assert(RegisteredAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressStreetNameWasChanged(addressId, StreetNameId.CreateFor(importHouseNumberFromCrab.StreetNameId)),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
        public void ThenAddressWasCorrectedToRetiredIfLifetimeIsFiniteAndCorrection(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab.
                                        WithLifetime(new Fixture().Customize(new NodaTimeCustomization()).Customize(new WithFiniteLifetime()).Create <CrabLifetime>())
                                        .WithCrabModification(CrabModification.Correction);

            Assert(RegisteredAddressScenario(fixture)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressWasCorrectedToRetired(addressId),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
        public void ThenAddressWasCorrectedToProposedIfPreviousStatusWasProposed(
            Fixture fixture,
            AddressId addressId,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            importHouseNumberFromCrab = importHouseNumberFromCrab.WithCrabModification(CrabModification.Correction);

            Assert(RegisteredAddressScenario(fixture)
                   .Given <AddressWasProposed>(addressId)
                   .Given <AddressWasRetired>(addressId)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressWasCorrectedToProposed(addressId),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }
        public void GivenAddressPositionHasEndDate(
            IFixture fixture,
            AddressId addressId,
            AddressHouseNumberPositionWasImportedFromCrab addressHouseNumberPositionWasImported,
            ImportHouseNumberFromCrab importHouseNumberFromCrab)
        {
            addressHouseNumberPositionWasImported = addressHouseNumberPositionWasImported
                                                    .WithEndDate(DateTimeOffset.Now)
                                                    .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromEntryOfBuilding);

            importHouseNumberFromCrab = importHouseNumberFromCrab
                                        .WithLifetime(new CrabLifetime(LocalDateTime.FromDateTime(DateTime.Now), LocalDateTime.FromDateTime(DateTime.Now.AddDays(1))));

            Assert(RegisteredAddressScenario(fixture)
                   .Given(addressId, addressHouseNumberPositionWasImported)
                   .When(importHouseNumberFromCrab)
                   .Then(addressId,
                         new AddressWasRetired(addressId),
                         new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Entry, GeometryHelpers.CreateEwkbFrom(new WkbGeometry(addressHouseNumberPositionWasImported.AddressPosition)))),
                         importHouseNumberFromCrab.ToLegacyEvent()));
        }