public async Task AddressWasPositionedSetsPosition( AddressId addressId, WkbGeometry geometry, Provenance provenance, AddressWasRegistered addressWasRegistered) { var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.Interpolated, GeometrySpecification.BuildingUnit, GeometryHelpers.CreateEwkbFrom(geometry))); ((ISetProvenance)addressWasPositioned).SetProvenance(provenance); await Assert( Given(addressWasRegistered, addressWasPositioned) .Expect( new AddressComparer <AddressDetailItem>(), ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Position = addressWasPositioned.ExtendedWkbGeometry.ToByteArray(), PositionMethod = addressWasPositioned.GeometryMethod, PositionSpecification = addressWasPositioned.GeometrySpecification, VersionTimestamp = addressWasPositioned.Provenance.Timestamp })); }
public void WhenPositionQualityIsHigher( Fixture fixture, AddressId addressId, CrabLifetime crabLifetime, AddressWasRegistered addressWasRegistered, AddressSubaddressPositionWasImportedFromCrab addressSubaddressPositionWasImported, ImportSubaddressPositionFromCrab importSubaddressPositionFromCrab) { var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Lot, new ExtendedWkbGeometry(addressSubaddressPositionWasImported.AddressPosition))); ((ISetProvenance)addressWasPositioned).SetProvenance(fixture.Create <Provenance>()); addressSubaddressPositionWasImported = addressSubaddressPositionWasImported .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot) .WithBeginDate(crabLifetime.BeginDateTime); importSubaddressPositionFromCrab = importSubaddressPositionFromCrab .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromEntryOfBuilding) .WithLifetime(crabLifetime); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasPositioned, addressSubaddressPositionWasImported) .When(importSubaddressPositionFromCrab) .Then(addressId, new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Entry, GeometryHelpers.CreateEwkbFrom(importSubaddressPositionFromCrab.AddressPosition))), importSubaddressPositionFromCrab.ToLegacyEvent())); }
public void ThenNoPositionChangeWhenOlderLifetimeAndLessQuality( Fixture fixture, AddressId addressId, AddressWasRegistered addressWasRegistered, WkbGeometry wkbGeometry, AddressHouseNumberPositionWasImportedFromCrab addressHouseNumberPositionWasImportedFromCrab, ImportHouseNumberPositionFromCrab importHouseNumberPositionFromCrab) { var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Stand, GeometryHelpers.CreateEwkbFrom(wkbGeometry))); ((ISetProvenance)addressWasPositioned).SetProvenance(fixture.Create <Provenance>()); addressHouseNumberPositionWasImportedFromCrab = addressHouseNumberPositionWasImportedFromCrab .WithWkbGeometry(wkbGeometry) .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromStand); importHouseNumberPositionFromCrab = importHouseNumberPositionFromCrab .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot) .WithLifetime(new CrabLifetime(addressHouseNumberPositionWasImportedFromCrab.BeginDateTime.Value.PlusDays(-1), addressHouseNumberPositionWasImportedFromCrab.EndDateTime)); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasPositioned, addressHouseNumberPositionWasImportedFromCrab) .When(importHouseNumberPositionFromCrab) .Then(addressId, importHouseNumberPositionFromCrab.ToLegacyEvent())); }
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 })); }
public void WhenModificationIsCorrection( Fixture fixture, AddressId addressId, AddressWasRegistered addressWasRegistered, WkbGeometry wkbGeometry, ImportHouseNumberPositionFromCrab importHouseNumberPositionFromCrab) { var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Lot, GeometryHelpers.CreateEwkbFrom(wkbGeometry))); ((ISetProvenance)addressWasPositioned).SetProvenance(fixture.Create <Provenance>()); importHouseNumberPositionFromCrab = importHouseNumberPositionFromCrab .WithCrabModification(CrabModification.Correction) .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.DerivedFromBuilding); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasPositioned ) .When(importHouseNumberPositionFromCrab) .Then(addressId, new AddressPositionWasCorrected(addressId, new AddressGeometry(GeometryMethod.DerivedFromObject, GeometrySpecification.BuildingUnit, GeometryHelpers.CreateEwkbFrom(importHouseNumberPositionFromCrab.AddressPosition))), importHouseNumberPositionFromCrab.ToLegacyEvent())); }
private IEventCentricTestSpecificationBuilder Scenario1(Fixture fixture, CrabHouseNumberId crabHouseNumberId, WkbGeometry geometry) { var addressId = new AddressId(crabHouseNumberId.CreateDeterministicId()); var addressWasRegistered = new AddressWasRegistered( addressId, fixture.Create <StreetNameId>(), fixture.Create <HouseNumber>()); ((ISetProvenance)addressWasRegistered).SetProvenance(fixture.Create <Provenance>()); var command = new ImportHouseNumberPositionFromCrab( new CrabAddressPositionId(1), crabHouseNumberId, geometry, new CrabAddressNature("2"), Enum.Parse <CrabAddressPositionOrigin>("10"), new CrabLifetime(LocalDateTime.FromDateTime(new DateTime(1830, 1, 1)), null), new CrabTimestamp(Instant.FromDateTimeOffset(new DateTimeOffset(2011, 4, 29, 14, 50, 10, 483, TimeSpan.Zero))), new CrabOperator("VLM\\thijsge"), CrabModification.Insert, Enum.Parse <CrabOrganisation>("5")); return(new Scenario() .Given(addressId, addressWasRegistered) .When(command) .Then(addressId, new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.DerivedFromObject, GeometrySpecification.BuildingUnit, GeometryHelpers.CreateEwkbFrom(geometry))), command.ToLegacyEvent())); }
public void WithStatusDeleteWhenNewerStatusIsPresent(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrabForProposed, AddressBecameCurrent addressBecameCurrent, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrabForCurrent, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrabDeleteProposed) { var lifetime = new CrabLifetime(LocalDateTime.FromDateTime(DateTime.Now), null); var deleteProposed = importSubaddressStatusFromCrabDeleteProposed .WithStatus(CrabAddressStatus.InUse) .WithLifetime(lifetime) .WithCrabModification(CrabModification.Delete) .WithStatusId(new CrabSubaddressStatusId(addressSubaddressStatusWasImportedFromCrabForProposed.SubaddressStatusId)); addressSubaddressStatusWasImportedFromCrabForProposed = addressSubaddressStatusWasImportedFromCrabForProposed .WithBeginDate(lifetime.BeginDateTime) .WithStatus(CrabAddressStatus.Proposed); addressSubaddressStatusWasImportedFromCrabForCurrent = addressSubaddressStatusWasImportedFromCrabForCurrent .WithBeginDate(lifetime.BeginDateTime) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressSubaddressStatusWasImportedFromCrabForProposed, addressBecameCurrent, addressSubaddressStatusWasImportedFromCrabForCurrent) .When(deleteProposed) .Then(addressId, deleteProposed.ToLegacyEvent())); }
public void WithStatusProposedWhenOlderLifetime(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressSubaddressStatusWasImportedFromCrab addressSubaddressStatusWasImportedFromCrab, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, ImportSubaddressStatusFromCrab importSubaddressStatusFromCrab) { addressSubaddressStatusWasImportedFromCrab = addressSubaddressStatusWasImportedFromCrab .WithStatus(CrabAddressStatus.Proposed); importSubaddressStatusFromCrab = importSubaddressStatusFromCrab .WithLifetime(new CrabLifetime(addressSubaddressStatusWasImportedFromCrab.BeginDateTime.Value.PlusDays(-1), null)) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressSubaddressStatusWasImportedFromCrab ) .When(importSubaddressStatusFromCrab) .Then(addressId, importSubaddressStatusFromCrab.ToLegacyEvent())); }
public void WithStatusProposedWhenStatusIsInUseAndNewerLifetime(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressHouseNumberStatusWasImportedFromCrab addressHouseNumberStatusWasImportedFromCrab, ImportHouseNumberStatusFromCrab importHouseNumberStatusFromCrab) { addressHouseNumberStatusWasImportedFromCrab = addressHouseNumberStatusWasImportedFromCrab .WithStatus(CrabAddressStatus.Proposed); importHouseNumberStatusFromCrab = importHouseNumberStatusFromCrab .WithLifetime(new CrabLifetime(addressHouseNumberStatusWasImportedFromCrab.BeginDateTime.Value.PlusDays(1), null)) .WithStatus(CrabAddressStatus.InUse); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressHouseNumberStatusWasImportedFromCrab) .When(importHouseNumberStatusFromCrab) .Then(addressId, new AddressBecameCurrent(addressId), importHouseNumberStatusFromCrab.ToLegacyEvent())); }
public void ThenAddressBecameIncompleteWhenModificationIsDelete( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned, AddressWasPositioned addressWasPositioned, AddressBecameComplete addressBecameComplete, ImportHouseNumberStatusFromCrab importHouseNumberStatusFromCrab) { importHouseNumberStatusFromCrab = importHouseNumberStatusFromCrab.WithCrabModification(CrabModification.Delete); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasProposed, addressWasOfficiallyAssigned, addressWasPositioned, addressBecameComplete) .When(importHouseNumberStatusFromCrab) .Then(addressId, new AddressStatusWasRemoved(addressId), new AddressOfficialAssignmentWasRemoved(addressId), new AddressBecameIncomplete(addressId), importHouseNumberStatusFromCrab.ToLegacyEvent())); }
public void WhenPositionQualityIsLower( Fixture fixture, AddressId addressId, CrabLifetime crabLifetime, AddressWasRegistered addressWasRegistered, AddressHouseNumberPositionWasImportedFromCrab addressHouseNumberPositionWasImported, ImportHouseNumberPositionFromCrab importHouseNumberPositionFromCrab) { var addressWasPositioned = new AddressWasPositioned(addressId, new AddressGeometry(GeometryMethod.AppointedByAdministrator, GeometrySpecification.Lot, new ExtendedWkbGeometry(addressHouseNumberPositionWasImported.AddressPosition))); ((ISetProvenance)addressWasPositioned).SetProvenance(fixture.Create <Provenance>()); addressHouseNumberPositionWasImported = addressHouseNumberPositionWasImported .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.ManualIndicationFromLot) .WithBeginDate(crabLifetime.BeginDateTime); importHouseNumberPositionFromCrab = importHouseNumberPositionFromCrab .WithCrabAddressPositionOrigin(CrabAddressPositionOrigin.DerivedFromParcelCadastre) .WithLifetime(crabLifetime); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasPositioned, addressHouseNumberPositionWasImported) .When(importHouseNumberPositionFromCrab) .Then(addressId, importHouseNumberPositionFromCrab.ToLegacyEvent())); }
public void ThenAddressRemovedException(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved, ImportSubaddressPositionFromCrab importSubaddressPositionFromCrab) { Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasRemoved) .When(importSubaddressPositionFromCrab) .Throws(new AddressRemovedException($"Cannot change removed address for address id {addressId}"))); }
public void ThenAddressRemovedException(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved, ImportSubaddressPositionFromCrab importSubaddressPositionFromCrab) { Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasRemoved) .When(importSubaddressPositionFromCrab) .ThenNone()); //Changed due to in some edge cases modify events occur after delete and deletes of those properties occurred too }
public void WhenForHouseNumberIdAndAlreadyAssignedThenNothingHappens( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressPersistentLocalIdWasAssigned addressPersistentLocalIdWasAssigned, RequestPersistentLocalIdForCrabHouseNumberId requestPersistentLocalIdForCrabHouseNumberId) { Assert(new Scenario() .Given(addressId, addressWasRegistered, addressPersistentLocalIdWasAssigned) .When(requestPersistentLocalIdForCrabHouseNumberId) .ThenNone()); }
public void WhenForSubaddressIdAndAlreadyAssignedThenNothingHappens( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressPersistentLocalIdWasAssigned addressPersistentLocalIdWasAssigned, AssignPersistentLocalIdForCrabSubaddressId assignPersistentLocalIdForCrabSubaddressId) { Assert(new Scenario() .Given(addressId, addressWasRegistered, addressPersistentLocalIdWasAssigned) .When(assignPersistentLocalIdForCrabSubaddressId) .ThenNone()); }
public void WhenForSubaddressIdThenPersistentLocalIdWasRequested( AddressId addressId, AddressWasRegistered addressWasRegistered, RequestPersistentLocalIdForCrabSubaddressId requestPersistentLocalIdForCrabSubaddressId) { Assert(new Scenario() .Given(addressId, addressWasRegistered) .When(requestPersistentLocalIdForCrabSubaddressId) .Then(addressId, new AddressPersistentLocalIdWasAssigned(addressId, new PersistentLocalId(1), new PersistentLocalIdAssignmentDate(Instant.FromDateTimeOffset(DateTimeOffset.Now))))); }
public void WhenForSubaddressIdThenPersistentLocalIdWasAssigned( AddressId addressId, AddressWasRegistered addressWasRegistered, AssignPersistentLocalIdForCrabSubaddressId assignPersistentLocalIdForCrabSubaddressId) { Assert(new Scenario() .Given(addressId, addressWasRegistered) .When(assignPersistentLocalIdForCrabSubaddressId) .Then(addressId, new AddressPersistentLocalIdWasAssigned(addressId, assignPersistentLocalIdForCrabSubaddressId.PersistentLocalId, assignPersistentLocalIdForCrabSubaddressId.AssignmentDate))); }
public async Task AddressWasRegisteredCreatesAddressListItem( AddressWasRegistered addressWasRegistered) { await Assert( Given(addressWasRegistered) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber })); }
public void ThenNoExceptionWhenModificationIsDelete(AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved, ImportSubaddressPositionFromCrab importSubaddressPositionFromCrab) { importSubaddressPositionFromCrab = importSubaddressPositionFromCrab .WithCrabModification(CrabModification.Delete); Assert(new Scenario() .Given(addressId, addressWasRegistered, addressWasRemoved) .When(importSubaddressPositionFromCrab) .Then(addressId, importSubaddressPositionFromCrab.ToLegacyEvent())); }
public async Task AddressPersistentLocalIdWasAssignedSetsPersistentLocalId( AddressWasRegistered addressWasRegistered, AddressPersistentLocalIdWasAssigned addressPersistentLocalIdWasAssigned) { await Assert( Given(addressWasRegistered, addressPersistentLocalIdWasAssigned) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, PersistentLocalId = addressPersistentLocalIdWasAssigned.PersistentLocalId })); }
public async Task AddressBecameCompleteSetsCompletedTrue( AddressWasRegistered addressWasRegistered, AddressBecameComplete addressBecameComplete) { await Assert( Given(addressWasRegistered, addressBecameComplete) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Complete = true })); }
public async Task AddressBoxNumberWasCorrectedChangesBoxNumber( AddressWasRegistered addressWasRegistered, AddressBoxNumberWasCorrected addressBoxNumberWasCorrected) { await Assert( Given(addressWasRegistered, addressBoxNumberWasCorrected) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, BoxNumber = addressBoxNumberWasCorrected.BoxNumber })); }
public async Task AddressWasRemovedSetsRemoved( AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved) { await Assert( Given(addressWasRegistered, addressWasRemoved) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Removed = true })); }
public async Task AddressPostalCodeWasCorrectedSetsPostalCode( AddressWasRegistered addressWasRegistered, AddressPostalCodeWasCorrected addressPostalCodeWasCorrected) { await Assert( Given(addressWasRegistered, addressPostalCodeWasCorrected) .Expect(ctx => ctx.AddressList, new AddressListItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, PostalCode = addressPostalCodeWasCorrected.PostalCode })); }
public async Task AddressWasOfficiallyAssignedSetsOfficallyAssignedTrue( AddressWasRegistered addressWasRegistered, AddressWasOfficiallyAssigned addressWasOfficiallyAssigned) { await Assert( Given(addressWasRegistered, addressWasOfficiallyAssigned) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, OfficiallyAssigned = true, VersionTimestamp = addressWasOfficiallyAssigned.Provenance.Timestamp })); }
public async Task AddressWasProposedSetsStatusToProposed( AddressWasRegistered addressWasRegistered, AddressWasProposed addressWasProposed) { await Assert( Given(addressWasRegistered, addressWasProposed) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Status = AddressStatus.Proposed, VersionTimestamp = addressWasProposed.Provenance.Timestamp })); }
public async Task AddressWasRemovedDeletesRecord( AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved) { await Assert( Given(addressWasRegistered, addressWasRemoved) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Removed = true, VersionTimestamp = addressWasRemoved.Provenance.Timestamp })); }
public async Task AddressBoxNumberWasCorrectedChangesBoxNumber( AddressWasRegistered addressWasRegistered, AddressBoxNumberWasCorrected addressBoxNumberWasCorrected) { await Assert( Given(addressWasRegistered, addressBoxNumberWasCorrected) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, BoxNumber = addressBoxNumberWasCorrected.BoxNumber, VersionTimestamp = addressBoxNumberWasCorrected.Provenance.Timestamp })); }
public async Task AddressBecameCurrentSetsStatusToCurrent( AddressWasRegistered addressWasRegistered, AddressBecameCurrent addressBecameCurrent) { await Assert( Given(addressWasRegistered, addressBecameCurrent) .Expect(ctx => ctx.AddressDetail, new AddressDetailItem { AddressId = addressWasRegistered.AddressId, StreetNameId = addressWasRegistered.StreetNameId, HouseNumber = addressWasRegistered.HouseNumber, Status = AddressStatus.Current, VersionTimestamp = addressBecameCurrent.Provenance.Timestamp })); }
public void RemoveViaSubaddressThenAddressRemovedException( AddressId addressId, AddressWasRegistered addressWasRegistered, AddressWasRemoved addressWasRemoved, ImportSubaddressFromCrab importSubaddressFromCrab) { var importSubaddressFromCrab2 = importSubaddressFromCrab.WithCrabModification(CrabModification.Delete); Assert(new Scenario() .Given(addressId, addressWasRegistered, importSubaddressFromCrab.ToLegacyEvent(), addressWasRemoved) .When(importSubaddressFromCrab2) .Then(addressId, importSubaddressFromCrab2.ToLegacyEvent())); }