Пример #1
0
 public static IEnumerable <MunicipalityLatestItem> ArrangeLatestGemeenteWithRandomNisCodes(
     this Mocking <ILatestQueries, LatestQueriesSetup, LatestQueriesVerification> mock,
     string gemeentenaam,
     int count)
 {
     return(mock.Arrange(
                Produce.Exactly(count, Generate.TblGemeente
                                .Select(g => g.WithGemeenteNaam(gemeentenaam))),
                (when, x) => when.LatestGemeentes(x)));
 }
Пример #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}");
        }