示例#1
0
        public void WithNewFacilityLanguage()
        {
            var importMunicipalityFromCrab = _fixture
                                             .Build <ImportMunicipalityFromCrab>()
                                             .With(x => x.PrimaryLanguage, CrabLanguage.Dutch)
                                             .With(x => x.SecondaryLanguage, (CrabLanguage?)null)
                                             .With(x => x.FacilityLanguage, CrabLanguage.German)
                                             .With(x => x.Geometry, (WkbGeometry)null)
                                             .With(x => x.Lifetime, new CrabLifetime(_fixture.Create <LocalDateTime>(), null))
                                             .Create();

            var municipalityWasRegistered = new MunicipalityWasRegistered(_municipalityId, importMunicipalityFromCrab.NisCode);

            ((ISetProvenance)municipalityWasRegistered).SetProvenance(CreateProvenance(1));

            var municipalityExistingFacilityLanguage = new MunicipalityFacilityLanguageWasAdded(_municipalityId, Language.French);

            ((ISetProvenance)municipalityExistingFacilityLanguage).SetProvenance(CreateProvenance(1));

            var municipalityFacilityLanguageWasRemoved = new MunicipalityFacilitiesLanguageWasRemoved(_municipalityId, Language.French);

            ((ISetProvenance)municipalityFacilityLanguageWasRemoved).SetProvenance(CreateProvenance(1));

            var municipalityFacilityLanguageWasAdded = new MunicipalityFacilityLanguageWasAdded(_municipalityId, Language.German);

            ((ISetProvenance)municipalityFacilityLanguageWasAdded).SetProvenance(CreateProvenance(1));

            Assert(
                new Scenario()
                .Given(_municipalityId,
                       municipalityWasRegistered,
                       _fixture.Create <MunicipalityNisCodeWasDefined>(),
                       _fixture.Create <MunicipalityOfficialLanguageWasAdded>(),
                       municipalityExistingFacilityLanguage,
                       _fixture.Create <MunicipalityBecameCurrent>())

                .When(importMunicipalityFromCrab)

                .Then(_municipalityId,
                      municipalityFacilityLanguageWasAdded,
                      municipalityFacilityLanguageWasRemoved,
                      importMunicipalityFromCrab.ToLegacyEvent()));
        }
 private void When(MunicipalityFacilitiesLanguageWasRemoved @event)
 {
     _facilitiesLanguages.Remove(@event.Language);
 }