Exemplo n.º 1
0
        public async Task CanFindStraatnaamByKadStraatCode()
        {
            var existingNisCode          = Generate.NisCode.Generate(Random);
            int existingStraatnaamId     = Generate.VbrObjectIdInt.Generate(Random);
            var existingGemeentenaam     = "Springfield";
            var existingStraatnaam       = "Evergreen Terrace";
            var requestededKadStraatCode = "6789";

            //Arrange
            var request = new AddressMatchRequest().WithGemeenteAndKadStraatcode();

            request.KadStraatcode = requestededKadStraatCode;

            Latest.ArrangeLatestGemeente(existingNisCode, existingGemeentenaam);
            KadRrService.ArrangeKadStraatnamen(existingNisCode, existingGemeentenaam, existingStraatnaamId, existingStraatnaam, requestededKadStraatCode);

            //Act
            var response = (AddressMatchCollection)((OkObjectResult)await Send(request)).Value;

            //Assert
            response.Should().NotBeNull();
            response.Should().HaveMatches(1);

            var firstMatch = response.AdresMatches.First();

            firstMatch.Should().HaveGemeente()
            .Which.Should().HaveGemeentenaam(existingGemeentenaam)
            .And.HaveObjectId(existingNisCode);

            firstMatch.Should().HaveStraatnaam()
            .Which.Should().HaveStraatnaam(existingStraatnaam)
            .And.HaveObjectId(existingStraatnaamId.ToString());

            firstMatch.Should().NotHaveVolledigAdres();
        }
Exemplo n.º 2
0
        public async Task CanFindRrAdres()
        {
            //Arrange
            var existingNisCode      = Generate.NisCode.Generate(Random);
            var existingGemeentenaam = "Springfield";
            var existingStraatnaamId = Generate.VbrObjectIdInt.Generate(Random);
            var existingStraatnaam   = "Evergreen Terrace";
            var streetNameId         = Guid.NewGuid();

            var request = new AddressMatchRequest().WithPostcodeAndRrStraatcode();

            request.Huisnummer = "15";

            var gemeente = Latest.ArrangeLatestGemeente(existingNisCode, existingGemeentenaam).First();
            var straat   = Latest.ArrangeLatestStraatnaam(existingNisCode, existingGemeentenaam, existingStraatnaamId.ToString(), existingStraatnaam, streetNameId).First();

            var mappedAdressen = KadRrService
                                 .Arrange(Produce.Exactly(6, Generate.TblHuisNummer.Select(x => x.WithStraatNaamId(streetNameId))),
                                          (when, x) => when.AdresMappingExistsFor(x, request.Huisnummer, request.Index, request.RrStraatcode, request.Postcode))
                                 .OrderBy(x => new VolledigAdres(existingStraatnaam, x.HouseNumber, x.BoxNumber, x.PostalCode, existingGemeentenaam, Taal.NL).GeografischeNaam.Spelling)
                                 .ToList();

            //Act
            var response = (AddressMatchCollection)((OkObjectResult)await Send(request)).Value;

            //Assert
            response.Should().NotBeNull();
            response.Should().HaveMatches(Math.Min(mappedAdressen.Count, 10));

            var firstMatch = response.AdresMatches.OrderBy(x => x.Score).ThenBy(x => x.VolledigAdres?.GeografischeNaam?.Spelling).First();

            firstMatch.Should().HaveGemeente()
            .Which.Should().HaveGemeentenaam(existingGemeentenaam)
            .And.HaveObjectId(existingNisCode);

            firstMatch.Should().HaveStraatnaam()
            .Which.Should().HaveStraatnaam(existingStraatnaam)
            .And.HaveObjectId(existingStraatnaamId.ToString());

            firstMatch.Should().HaveVolledigAdres()
            .Which.Should().HaveGeografischeNaam($"{existingStraatnaam} {mappedAdressen.First().HouseNumber} bus {mappedAdressen.First().BoxNumber}, {mappedAdressen.First().PostalCode} {existingGemeentenaam}");
        }