Esempio n. 1
0
  /** Test van addPersoon methode in class Administratie. */
  @Test
  public void testAddPersoon() {
    /* er wordt een persoon met een gegeven geslacht, met als voornamen vnamen,
     * achternaam anaam, tussenvoegsel tvoegsel, geboortedatum gebdat,
     * geboorteplaats gebplaats en een gegeven ouderlijk gezin;*/
    assertEquals("geslacht onjuist", Geslacht.VROUW, teuntje.getGeslacht());
    assertEquals("voornamen onjuist", "Teuntje", teuntje.getVoornamen());
    assertEquals("voornamen onjuist", "Piet Franciscus", piet.getVoornamen());
    assertEquals("tussenvoegsel onjuist", "", piet.getTussenvoegsel());
    assertEquals("tussenvoegsel onjuist", "de", teuntje.getTussenvoegsel());
    assertEquals(
        "geboortedatum onjuist", "23-4-1950", StringUtilities.datumString(piet.getGebDat()));
    assertEquals("geboorteplaats onjuist", "Ede", piet.getGebPlaats());
    assertEquals("ouderlijk gezin onjuist", null, piet.getOuderlijkGezin());

    Persoon jan =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jan", "Jacobus"},
            "Peters",
            "",
            new GregorianCalendar(1980, Calendar.APRIL, 23),
            "Venray",
            pietEnTeuntje);
    assertEquals("ouderlijk gezin onjuist", pietEnTeuntje, jan.getOuderlijkGezin());

    /* de persoon
     * krijgt een uniek nummer toegewezen de persoon is voortaan ook bij het
     * ouderlijk gezin bekend.
     */
    assertEquals("persoonsnummering onjuist", 1, piet.getNr());
    assertEquals("persoonsnummering onjuist", 3, jan.getNr());
    assertFalse(
        "kind niet bij ouderlijk gezin geregistreerd", pietEnTeuntje.getKinderen().isEmpty());
    assertEquals(
        "kind niet bij ouderlijk gezin geregistreerd", jan, pietEnTeuntje.getKinderen().get(0));

    /* Voor de voornamen, achternaam en gebplaats geldt
     * dat de eerste letter naar een hoofdletter en de resterende letters naar
     * een kleine letter zijn geconverteerd; het tussenvoegsel is zo nodig in
     * zijn geheel geconverteerd naar kleine letters.*/
    Persoon tom =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"tom", "JACOBUS"},
            "sWinkelS",
            "VaN deR",
            new GregorianCalendar(1971, Calendar.APRIL, 13),
            "venLO",
            pietEnTeuntje);
    ArrayList<Persoon> swinkelsen = adm.getPersonenMetAchternaam("Swinkels");
    assertEquals("zoeken op achternaam onjuist", 2, swinkelsen.size());
    assertEquals("voornamen niet correct weergegeven", "Tom Jacobus", tom.getVoornamen());
    assertEquals("achternaam niet correct weergegeven", "Swinkels", tom.getAchternaam());
    assertEquals("geboorteplaats niet correct weergegeven", "Venlo", tom.getGebPlaats());
    assertEquals("tussenvoegsel niet correct weergegeven", "van der", tom.getTussenvoegsel());

    /* @return als de persoon al bekend was (op basis van combinatie van naam,
     * geboorteplaats en geboortedatum), wordt er null
     * geretourneerd, anders de nieuwe persoon*/
    Persoon tom2 =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"t", "J"},
            "sWinkelS",
            "VaN deR",
            new GregorianCalendar(1971, Calendar.APRIL, 13),
            "venLO",
            null);
    assertNull("unieke identificatie persoon onjuist", tom2);
    List<Persoon> kinderen = pietEnTeuntje.getKinderen();
    assertEquals("aantal kinderen onjuist", 2, kinderen.size());
    assertEquals("eerste kind ontbreekt", jan, kinderen.get(0));
    assertEquals("tweede kind ontbreekt", tom, kinderen.get(1));
  }