Esempio n. 1
0
 Gezin selecteerGezin() {
   String naam = readString("gezin van persoon met welke achternaam");
   ArrayList<Persoon> kandidaten = getAdmin().getPersonenMetAchternaam(naam);
   for (Persoon p : kandidaten) {
     List<Gezin> gezinnen = p.getAlsOuderBetrokkenIn();
     System.out.print(p.getNr() + "\t" + p.getNaam() + " " + datumString(p.getGebDat()));
     System.out.print(" gezinnen: ");
     for (Gezin gezin : gezinnen) {
       System.out.print(" " + gezin.getNr());
     }
     System.out.println();
   }
   int invoer = readInt("selecteer gezinsnummer");
   input.nextLine();
   return getAdmin().getGezin(invoer);
 }
Esempio n. 2
0
  @Test
  public void testAddHuwelijk() {
    /** als er al een ongehuwd gezin voor dit koppel bestaat, wordt het huwelijk voltrokken */
    Persoon annie =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Annie", "Gedula"},
            "Dael",
            "",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Bergen op Zoom",
            null);
    Persoon jan =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jan", "Jacobus"},
            "Peters",
            "",
            new GregorianCalendar(1980, Calendar.APRIL, 23),
            "Venray",
            pietEnTeuntje);
    Gezin annieEnJan = adm.addOngehuwdGezin(annie, jan);
    Gezin huwelijk = adm.addHuwelijk(jan, annie, nu);
    assertEquals("ongehuwd gezin trouwt", huwelijk, annieEnJan);
    assertEquals("huwelijksdatum bekend", nu, huwelijk.getHuwelijksdatum());
    assertNull("scheidingsdatum onbekend", huwelijk.getScheidingsdatum());

    /* anders wordt er zo mogelijk (zie return) een
     * (kinderloos) gehuwd gezin met ouder1 en ouder2 als ouders gecreeerd;
     * de scheidingsdatum is onbekend (null); */
    Persoon trees =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"trees", "Gedula"},
            "Dael",
            "van",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Sevenum",
            null);
    Persoon jaap =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jaap"},
            "Giesbers",
            "",
            new GregorianCalendar(1980, Calendar.APRIL, 23),
            "Venray",
            null);
    Gezin treesEnJaap =
        adm.addHuwelijk(trees, jaap, new GregorianCalendar(2013, Calendar.APRIL, 23));
    assertTrue("geen kinderen", treesEnJaap.getKinderen().isEmpty());
    assertTrue("gehuwd gezin", treesEnJaap.isHuwelijkOp(nu));
    assertEquals("ouder1 is trees", trees, treesEnJaap.getOuder1());
    assertEquals("ouder2 is jaap", jaap, treesEnJaap.getOuder2());
    /*
     * scheidingsdatum is onbekend (null);
     */
    assertNull("scheidingsdatum onbekend", treesEnJaap.getScheidingsdatum());
    /* het gezin krijgt een uniek nummer toegewezen */
    assertEquals("nummering van gezin lijkt onjuist", 3, treesEnJaap.getNr());
    /* dit gezin wordt ook bij de afzonderlijke ouders geregistreerd;
     */
    assertFalse("registratie bij ouders onjuist", trees.getAlsOuderBetrokkenIn().isEmpty());
    assertFalse("registratie bij ouders onjuist", jaap.getAlsOuderBetrokkenIn().isEmpty());
    assertEquals(
        "registratie bij ouders onjuist", treesEnJaap, jaap.getAlsOuderBetrokkenIn().get(0));
    assertEquals(
        "registratie bij ouders onjuist", treesEnJaap, trees.getAlsOuderBetrokkenIn().get(0));

    Persoon petra =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Petra", "Gedula"},
            "Dael",
            "",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Bergen op Zoom",
            null);
    Persoon roel =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Roel", "Jacobus"},
            "Peters",
            "",
            new GregorianCalendar(1983, Calendar.APRIL, 23),
            "Venray",
            pietEnTeuntje);
    Gezin petraEnRoel = adm.addOngehuwdGezin(petra, roel);

    Persoon john =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"John", "Adriaan"},
            "Krop",
            "",
            new GregorianCalendar(1973, Calendar.JANUARY, 3),
            "Eindhoven",
            pietEnTeuntje);
    Gezin johnEnRoel = adm.addHuwelijk(john, roel, nu);
    assertNotNull(
        "huwelijk waarvoor een van de partners bij een ongehuwd gezin betrokken is", johnEnRoel);

    /*het gezin krijgt een uniek nummer toegewezen;*/
    assertEquals("nummering van gezin lijkt onjuist", petraEnRoel.getNr() + 1, johnEnRoel.getNr());

    /**
     * @return null als ouder1 = ouder2 of als een van de ouders getrouwd is anders het gehuwde
     *     gezin
     */
    Persoon pim =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Pim"},
            "sWinkelS",
            "VaN deR",
            new GregorianCalendar(1995, Calendar.APRIL, 13),
            "venLO",
            pietEnTeuntje);

    assertNull("ouders verschillend", adm.addHuwelijk(pim, pim, nu));
    assertNull("ouders ongehuwd", adm.addHuwelijk(roel, pim, Calendar.getInstance()));
    assertNull("ouders ongehuwd", adm.addHuwelijk(pim, roel, Calendar.getInstance()));

    Calendar datum1 = new GregorianCalendar(1995, Calendar.APRIL, 13);
    Calendar datum2 = new GregorianCalendar(1996, Calendar.APRIL, 13);
    Calendar datum3 = new GregorianCalendar(1996, Calendar.APRIL, 14);
    Calendar datum4 = new GregorianCalendar(1996, Calendar.APRIL, 15);

    // merk op: datum1 < datum2 < datum3 < datum4
    Persoon miep =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"miep"},
            "Dael",
            "",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Bergen op Zoom",
            null);
    Persoon jacco =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jacco", "Jacobus"},
            "Hop",
            "",
            new GregorianCalendar(1983, Calendar.APRIL, 23),
            "Venray",
            null);
    Gezin miepEnJacco = adm.addHuwelijk(miep, jacco, datum1);
    miepEnJacco.setScheiding(datum3);

    Persoon aafke =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"aafke"},
            "Dael",
            "",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Bergen op Zoom",
            null);
    assertNull("jacco is nog getrouwd", adm.addHuwelijk(aafke, jacco, datum2));
    assertNotNull("jacco is niet meer getrouwd", adm.addHuwelijk(aafke, jacco, datum4));

    Persoon frank =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Frank", "Johan"},
            "Kroes",
            "",
            new GregorianCalendar(1983, Calendar.APRIL, 23),
            "Helmond",
            null);

    assertNull("aafke is naderhand getrouwd", adm.addHuwelijk(aafke, frank, datum1));
  }
Esempio n. 3
0
  @Test
  public void testAddOngehuwdGezin() {
    /**
     * er wordt, zo mogelijk (zie return) een (kinderloos) ongehuwd gezin met ouder1 en ouder2 als
     * ouders gecreeerd;
     */
    Persoon annie =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Annie", "Gedula"},
            "Dael",
            "",
            new GregorianCalendar(1981, Calendar.APRIL, 3),
            "Bergen op Zoom",
            null);
    Persoon jan =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jan", "Jacobus"},
            "Peters",
            "",
            new GregorianCalendar(1980, Calendar.APRIL, 23),
            "Venray",
            pietEnTeuntje);
    Gezin annieEnJan = adm.addOngehuwdGezin(annie, jan);
    assertTrue("geen kinderen", annieEnJan.getKinderen().isEmpty());
    assertFalse("ongehuwd gezin", annieEnJan.isHuwelijkOp(nu));
    assertEquals("ouder1 is annie", annie, annieEnJan.getOuder1());
    assertEquals("ouder2 is jan", jan, annieEnJan.getOuder2());
    /*de huwelijks- en
     * scheidingsdatum zijn onbekend (null);
     */
    assertNull("huwelijksdatum onbekend", annieEnJan.getHuwelijksdatum());
    assertNull("scheidingsdatum onbekend", annieEnJan.getScheidingsdatum());
    /* het gezin krijgt een uniek nummer toegewezen */
    assertEquals(
        "nummering van gezin lijkt onjuist", pietEnTeuntje.getNr() + 1, annieEnJan.getNr());
    /* dit gezin wordt ook bij de afzonderlijke ouders geregistreerd;
     */
    assertFalse("registratie bij ouders onjuist", jan.getAlsOuderBetrokkenIn().isEmpty());
    assertFalse("registratie bij ouders onjuist", annie.getAlsOuderBetrokkenIn().isEmpty());
    assertEquals("registratie bij ouders onjuist", annieEnJan, jan.getAlsOuderBetrokkenIn().get(0));
    assertEquals(
        "registratie bij ouders onjuist", annieEnJan, annie.getAlsOuderBetrokkenIn().get(0));

    /*
     * @param ouder1
     * @param ouder2 mag null zijn
     */
    Persoon toos =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"t", "J"},
            "sWinkelS",
            "VaN deR",
            new GregorianCalendar(1971, Calendar.APRIL, 13),
            "venLO",
            null);
    Gezin eenoudergezin = adm.addOngehuwdGezin(toos, null);
    assertTrue("geen kinderen", eenoudergezin.getKinderen().isEmpty());
    assertFalse("ongehuwd gezin", eenoudergezin.isHuwelijkOp(nu));
    assertEquals("ouder1 is toos", toos, eenoudergezin.getOuder1());
    assertNull("ouder2 is onbekend", eenoudergezin.getOuder2());
    /*de huwelijks- en
     * scheidingsdatum zijn onbekend (null);
     */
    assertNull("huwelijksdatum onbekend", eenoudergezin.getHuwelijksdatum());
    assertNull("scheidingsdatum onbekend", eenoudergezin.getScheidingsdatum());
    /* het gezin krijgt een uniek nummer toegewezen */
    assertEquals(
        "nummering van gezin lijkt onjuist", annieEnJan.getNr() + 1, eenoudergezin.getNr());
    /* dit gezin wordt ook bij de afzonderlijke ouders geregistreerd;
     */
    assertFalse("registratie bij ouder onjuist", toos.getAlsOuderBetrokkenIn().isEmpty());
    assertEquals(
        "registratie bij ouder onjuist", eenoudergezin, toos.getAlsOuderBetrokkenIn().get(0));

    /* @return null als ouder1 = ouder2
     */
    Persoon pim =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Pim"},
            "sWinkelS",
            "VaN deR",
            new GregorianCalendar(1995, Calendar.APRIL, 13),
            "venLO",
            pietEnTeuntje);

    assertNull("ouders verschillend", adm.addOngehuwdGezin(pim, pim));
    assertEquals("ouders verschillend", eenoudergezin.getNr(), adm.aantalGeregistreerdeGezinnen());

    /* of als de volgende voorwaarden worden
     * overtreden: 1) een van de ouders is op dit moment getrouwd 2) het koppel
     * uit een ongehuwd gezin kan niet tegelijkertijd als koppel bij een ander ongehuwd
     * gezin betrokken zijn*/
    assertNull("een van de ouders is op dit moment getrouwd", adm.addOngehuwdGezin(piet, toos));
    assertNull("een van de ouders is op dit moment getrouwd", adm.addOngehuwdGezin(toos, piet));
    assertNull(
        "het koppel uit een ongehuwd gezin kan niet tegelijkertijd bij"
            + " een ander ongehuwd gezin betrokken zijn",
        adm.addOngehuwdGezin(annie, jan));
    assertNull(
        "het koppel uit een ongehuwd gezin kan niet tegelijkertijd bij"
            + " een ander ongehuwd gezin betrokken zijn",
        adm.addOngehuwdGezin(jan, annie));

    /* anders het gewenste gezin
     */
    Gezin annieEnToos = adm.addOngehuwdGezin(toos, annie);
    assertNotNull("gezin met een van de partners verschillend", annieEnToos);
    List<Gezin> gezinnenToos = toos.getAlsOuderBetrokkenIn();
    List<Gezin> gezinnenAnnie = annie.getAlsOuderBetrokkenIn();

    assertFalse("registratie bij ouders onjuist", gezinnenToos.isEmpty());
    assertFalse("registratie bij ouders onjuist", gezinnenAnnie.isEmpty());

    /*
     * test heeftOngehuwdGezin
     */
    assertEquals("", annieEnToos, annie.heeftOngehuwdGezinMet(toos));
    assertEquals("", annieEnToos, toos.heeftOngehuwdGezinMet(annie));
  }