# Testdata
## Bestaande Vreemde Adressen
| Straatnaam | Huisnummer | Toevoeging(en) | Postcode | Woonplaats | Opmerking |
| ------------------------------------------------------- | ---------- | ---------------- | -------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Biltstraat | 113 | B BisA | 3572AN | Utrecht | |
| Biltstraat | 62 | bis A | 3572 BE | Utrecht | |
| Wijk 6 | 1 | a | 8321 VA | Urk | |
| Witte de Withstraat | 24 | HS | 1057 XW | Amsterdam | |
| Spoelstraat | 33 | -, A, B, C, D, E | 8011RW | Zwolle | Adres zonder en met toevoegingen maar de stroom en gas meters staan geregistreerd op 33 |
| Malvert | 3341 | | 6538 BT | Nijmegen | In de wijk Malvert, in de 33e straat, met het huisnummer 3341, waarin de eerste twee cijfers staan voor het straatnummer. |
| Gondel 26 | 32 | | 8243 CM | Lelystad | wijk Gondel, straat 26, huis 32 of straat Gondel 26, huis 32 |
| Graan voor Visch | 19999 | | 2132 WR | Hoofddorp | |
| De Entergraven | 5 | | 7676 EB | Westerhaar-Vriezenveensewijk | Langste Plaatsnaam van Nederland |
| Haven | 1 | 3 | 9131KJ | Ie | Kortste plaatsnaam van Nederland |
| Laan van de landinrichtingscommissie Duiven-Westervoort | 1 | | 6922KZ | Duiven | Langste straatnaam van Nederland, geen verbijfsfunctie |
| Ir. Mr. Dr. van Waterschoot van der Grachtstraat | 31 | | 6413 AX | Heerlen | |
| Kerkhofstraat | 12 | Z, R | 2011 BK | Haarlem | Variaties: Z = leeg, ZW, RD |
| Witte de Withstraat | 100 | HS | 1057 ZG | Amsterdam | 'hs' of 'huis' geeft een benedenwoning aan. |
| Van Kinsbergenstraat | 52 | III | 1057PS | Amsterdam | Romeinse Cijfers, in sommige systemen staat 3 |
| Biltstraat | 1 | Bis | 3572 AA | Utrecht | Ook wel BS |
| Cees Buddingh'hof | 153 | | 1628 WL | Hoorn | `'` in straatnaam |
Variaties waar ik nog bestaande adressen voor moet zoeken:
| **Voorbeeld** | **Toelichting** |
| --------------------------- | ------------------------------------------------------------------------------------------------ |
| Voorbeeldstraat 5A02 | 5 is het huisnummer, 'A' staat voor begane grond, '02' voor kamer 2. |
| Voorbeeldstraat 5-F 4 | 5 is het huisnummer, 'F' staat voor de vijfde verdieping, '4' voor de vierde flatwoning. |
| Voorbeeldstraat 5 I | 5 is het huisnummer, 'I' (Romeins cijfer) staat voor de eerste verdieping. |
| Voorbeeldstraat 5 sous | 5 is het huisnummer, 'sous' geeft een souterrain aan. |
## Speciale tekens
Let op: dit is op basis wat ik persoonlijk gevonden heb, dit is niet de absolute waarheid
| Adres Onderdeel | Schrijfwijze | Speciale tekens | Karakters (langst bekende) | Bestaande voorbeelden |
| --------------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------- | -------------------------------- | -------------------------- |
| Straatnaam | Begint met hoofdletter, voorzetsels, tussenvoegsels, of kleine verbindingswoorden kleine letters. Cijfers ook mogelijk! | `.`, `-`, `'`, Spatie | 55 | |
| Huisnummer | | ? | 5 | |
| Toevoeging | | ? | 4 | |
| Postcode | | Spatie | 6 (zonder spatie) | |
| Woonplaats | Begint met hoofdletter | `-`, `'`, Spatie | 28 tekens, inclusief koppelteken | 's-Hertogenbosch, 't Harde |
# Informatie over adressen in Nederland
## Straatnamen
> [!quote] Straatnamen volgens [Wikipedia](https://nl.wikipedia.org/wiki/Huisnummer)
> **Genummerde straten**
> In [Lelystad](https://nl.wikipedia.org/wiki/Lelystad "Lelystad") dragen veel straten de naam van de wijk, met een volgnummer. Is het adres Gondel 26-95, ook geschreven als Gondel 2695, dan is dat: wijk Gondel, straat 26, huis 95 of straat Gondel 26, huis 95. Het officiële huisnummer is dus 95, en niet zoals mogelijk gedacht zou kunnen worden 26-95 of 2695. Ook in de Nijmeegse stadsdelen [Dukenburg](https://nl.wikipedia.org/wiki/Dukenburg "Dukenburg") en [Lindenholt](https://nl.wikipedia.org/wiki/Lindenholt "Lindenholt") en in bepaalde gedeelten van de aangrenzende plaats [Wijchen](https://nl.wikipedia.org/wiki/Wijchen_(plaats) "Wijchen (plaats)") wordt een afwijkende adressering toegepast. Net als in Lelystad zijn in deze stadsdelen de straten genummerd, alleen maakt het straatnummer ook deel uit van het huisnummer. Zo betekent het adres Malvert 3341 in Dukenburg een adres in de wijk Malvert, in de 33e straat, met het huisnummer 3341, waarin de eerste twee cijfers staan voor het straatnummer.
>
> In feite is het verschil tussen de systemen van Lelystad en Wijchen en Nijmegen slechts een administratieve truc. Alle drie de gemeenten besloten eind jaren 70 om voor enkele wijken niet de gebruikelijke indeling in drie niveaus (woonplaats, straatnaam, huisnummer), maar een in vier niveaus (woonplaats, wijk, straatnummer, huisnummer) te gebruiken. De database waarin deze gegevens vastgelegd moeten worden (sinds 2009 de [BAG](https://nl.wikipedia.org/wiki/Basisregistraties_Adressen_en_Gebouwen "Basisregistraties Adressen en Gebouwen")) ondersteunt slechts één indeling in drie niveaus, waarbij het middelste de _openbare ruimte_ wordt genoemd, waarvan niet vastgelegd is of dit een straat of een wijk is. Om dit probleem op te lossen heeft Lelystad in de database de naam van de wijk aan het straatnummer toegevoegd, waardoor de wijk administratief niet bestaat. Nijmegen en Wijchen besloten het nummer van de straat aan het huisnummer toe te voegen, waardoor de straat administratief niet bestaat. Mensen hanteren in praktijk de indeling in vier niveaus, maar veel geautomatiseerde systemen zijn daar niet op berekend.
### Bronnen
[Dit zijn de 5 langste straatnamen van Nederland](https://deopenbareruimte.nu/dit-zijn-de-5-langste-straatnamen-van-nederland/)
## Huisnummers en toevoegingen
> [!quote] Toevoegingen volgens [Wikipedia](https://nl.wikipedia.org/wiki/Huisnummer
>
> **Binnen een enkel perceel**
> Indien op een perceel meerdere woningen staan, wat vooral bij huizen met meer verdiepingen het geval is, kan elk adres een volwaardig huisnummer (gewoon een getal) hebben. Het komt ook voor dat de adressen onderscheiden worden door middel van een toevoeging achter het nummer, meestal opvolgende letters. Als een bepaald getal met toevoeging als nummeraanduiding (zie boven) wordt gebruikt, dan is het getal zelf vaak de nummeraanduiding van een andere woning, maar soms de verzamelnaam van alle woningen of kamers met een nummeraanduiding die met het getal begint, bijvoorbeeld een flatgebouw.
>
> Een appartementsgebouw, studentenflat, bejaardenwoning of iets dergelijks heeft vaak één enkel huisnummer. Daarachter komt als toevoeging het appartementsnummer of busnummer, dat ofwel opvolgend genummerd is waarbij de ligging in het gebouw niet zichtbaar is, ofwel uit cijfers bestaat waaraan de verdieping afgelezen kan worden. Bijvoorbeeld Witbreuksweg 307-309. Dat is dan gebouw 307, verdieping 3, kamer 9. Het eigenlijke huisnummer is 307, dus oneven.
>
> In Maastricht combineert men letters met cijfers. Dit gebeurt met name bij studentenhuizen in blokvorm. Zo kan het voorkomen dat men op 146A02 woont. Dit is dan huisnummer 146, begane grond (A), kamer 2. In Leiden wordt dit ook weleens toegepast bij flatwoningen: Kagerstraat 5-F 4 is bijvoorbeeld de vierde flatwoning op de vijfde verdieping van het flatgebouw Kagerstraat 5.
>
> In Amsterdam wordt een benedenwoning met 'huis' aangeduid (afgekort 'hs') en hebben de bovenwoningen opvolgende Romeinse cijfers, uitgesproken als een-hoog, twee-hoog enz. De toevoeging 'sous' wordt gebruikt voor het souterrain. Sinds 1995 is dit systeem afgeschaft en vervangen door 'h', '1', '2' etc., maar in de praktijk wordt het nog steeds vaak zo gebruikt.
>
> Bij sommige portiekflats is er op de begane grond ruimte voor bergingen. Dan wordt de woning op de 1e etage als 'hs' aangeduid, de woningen op de 2e etage als 'I' enz. Dit geeft soms verwarring.
>
> In de stad Utrecht heeft de eerste bovenwoning vaak het toevoegsel bis, een tweede bovenwoning krijgt de aanduiding 'bis A'. Incidenteel kan bijvoorbeeld '113B Bis A' voorkomen. In onder andere Haarlem worden voor de beneden- en bovenwoning respectievelijk de aanduidingen 'zwart' en 'rood' gebruikt, vaak afgekort als 'ZW' en 'RD'.
>
> **Naderhand toegevoegde adressen**
> Vrijwel overal komen adressen met een letter als toevoeging voor, zoals 12A of 73K. Deze nummering wordt meestal gekozen en toegepast bij de bouw van woningen tussen bestaande bouw, waardoor er nummers te kort zijn en er wordt overgegaan op letter-toevoegingen. De letters I en O worden daarbij vaak overgeslagen vanwege hun gelijkenis met de cijfers 1 en 0. Een andere mogelijkheid is dat de straat ter plekke voor een gedeelte een andere naam krijgt.
>
> **Samengevoegde woningen**
> Als verschillende, kleinere woningen samen worden gevoegd, dan krijgt het 'nieuwe' huis soms de beide 'oude' nummers. Bijvoorbeeld Koningsstraat 8-10 (uitgesproken als _8 tot 10_ of _8 en 10_).
### Huisnummer Syntax
- Wat is de max lengte van een huisnummer?
- Welke tekens kunnen een huisnummer bevatten?
### Toevoeging Syntax
- Wat is de langste toevoeging? > Wat is de max lengte van een toevoeging?
- Welke tekens kunnen een toevoeging bevatten?
### Bronnen
- [Beleidsregels toekennen huisnummer](https://lokaleregelgeving.overheid.nl/CVDR93411)
- [Agile Testen in de Praktijk - Huinummers en Toevoegingen](https://agiletestenindepraktijk.nl/uit-het-boek-huisnummers-en-toevoegingen/)
- [Huisnummer toevoeging beleid Amsterdam](https://www.amsterdam.nl/stelselpedia/bag-index/catalogus-bag/objectklasse-num/huisnummertoevoeging/)
- [De Brug - Heeft u wel eens stil gestaan bij huisnummers?](https://web.archive.org/web/20190426114902/https://www.brugutrecht.nl/nieuws/algemeen/703953/heeft-u-wel-eens-stil-gestaan-bij-huisnummers-)
- [Duic - Hoe komt Utrecht aan huisnummer 113 B BIS A](https://www.duic.nl/cultuur/hoe-komt-dit-huis-in-utrecht-aan-het-nummer-113-b-bis-a/)
- [In de buurt - Haarlems Mysterie; waarom hebben wij zwart en rode huisnummers en andere steden niet?](https://indebuurt.nl/haarlem/genieten-van/mysteries/haarlems-mysterie-waarom-hebben-wij-zwarte-en-rode-huisnummers-en-de-rest-van-het-land-niet~78761/)
## Postcodes
- Wat is de maximale lengte?
- Wat is de schrijfwijze?
- Speciale tekens?
### Gherkin Test Scenario
Hoe
```gherkin
Feature: Validatie van postcodevelden
Deze feature controleert dat een postcodeveld correct valideert op basis van de volgende regels:
- Postcodes bestaan uit exact 4 cijfers gevolgd door 2 letters.
- Zowel hoofdletters als kleine letters zijn toegestaan.
- Spaties worden automatisch verwijderd.
- Speciale tekens en niet-Nederlandse karakters zijn niet toegestaan.
- Geen extra cijfers of letters toegestaan.
@correct
Scenario Outline: Correcte postcodes worden geaccepteerd
Gegeven klant is op de pagina met een postcodeveld
Als klant postcode '<postcode>' invoert
Dan wordt de invoer als geldig geaccepteerd
Voorbeelden:
| postcode |
| 1234bc |
| 1234Bc |
| 1234BC |
| 1234bC |
| 1234 BC |
| 1 2 3 4 B C |
| 1234 BC | # Twee spaties
| 1234BC | # Voorlopende spatie
@incorrect
Scenario Outline: Incorrecte postcodes worden afgekeurd
Gegeven klant is op de pagina met een postcodeveld
Als klant postcode '<postcode>' invoert
Dan wordt de invoer als ongeldig afgekeurd met als reden: '<reden>'
Voorbeelden:
| postcode | reden |
| 123BC | Minder dan 4 cijfers ingevoerd |
| 12BC | Minder dan 4 cijfers ingevoerd |
| 1BC | Minder dan 4 cijfers ingevoerd |
| BC | Geen cijfers ingevoerd |
| 1234 | Geen letters ingevoerd |
| | Leeg veld |
| 12345BC | Te veel cijfers ingevoerd (5 i.p.v. 4) |
| 1234 B | Slechts 1 letter ingevoerd |
| 1234 BCD | Te veel letters ingevoerd (3 i.p.v. 2) |
| 1234B@ | Speciale tekens niet toegestaan |
| abcd EF | Geen cijfers ingevoerd, alleen letters |
| 123ßBC | Niet-Nederlandse letter (ß) gebruikt |
| 1234BC | Full-width cijfers niet toegestaan |
| 1234BcD | Te veel tekens na spatieverwerking (7 i.p.v. 6) |
| NULL | Ongeldige string-invoer ('NULL') |
```
## Woonplaatsen
- [ ] Aan te vullen
### Bronnen
[Dit is de langste plaatsnaam van Nederland (en de kortste!)](https://naamloos.nl/langste-plaatsnaam-nederland/)
# Externe Systemen
Adresdata kan opgehaald worden uit verschillende systemen opgehaald worden.
Het vervelende is dat elk systeem een net wat andere notatie kan aanhouden. Bijvoorbeeld het bijzondere adres Biltstraat 113
Dit is een factor die je mee moet nemen bij het testen wanneer gebruiker zijn adres, met name toevoeging, vrij kan invullen of wanneer verschillende systemen gebruikt worden voor adressen.
## BAG
De **BAG** (Basisregistratie Adressen en Gebouwen) bevat de officiële gegevens van alle adressen en gebouwen in Nederland, zoals bouwjaar, oppervlakte, gebruiksdoel en locatie op de kaart. Gemeenten zijn bronhouders van de **BAG**.
https://bagviewer.kadaster.nl/lvbag/bag-viewer/
## Pro6PP
Pro6PP biedt een uitgebreide postcodedatabase als webservice en praktische voorbeelden. Onze API voor adresvalidatie, aanvullen van adressen en postcode zoeken zorgt voor correcte en up-to-date adresgegevens uit Nederland, Duitsland, België, Luxemburg, Frankrijk en meer landen.
https://www.pro6pp.nl/nl
## C-AR
Centraal Aansluitingen Register
Niet inzichtelijk voor Particulieren.
Het centraal aansluitingenregister bevat informatie over elektriciteits- en gasaansluitingen in Nederland. Tot 2013 werkten alle netbeheerders met een eigen systeem. Sindsdien werken alle netbeheerders mee aan dit register.
Met dit aansluitingenregister kunnen energieleveranciers een overstap naar een andere energieleverancier of een verhuizing verwerken. Het zorgt er ook voor dat het niet mogelijk is dat er twee leveranciers hetzelfde product kunnen leveren op één adres.
## EAN Codeboek
https://www.eancodeboek.nl/