@Before public void setUp() { controller = new StamboomController(); adm = controller.getAdministratie(); piet = adm.addPersoon( Geslacht.MAN, new String[] {"Piet", "Franciscus"}, "Swinkels", "", new GregorianCalendar(1950, Calendar.APRIL, 23), "ede", null); teuntje = adm.addPersoon( Geslacht.VROUW, new String[] {"Teuntje"}, "Vries", "de", new GregorianCalendar(1949, Calendar.MAY, 5), "Amersfoort", null); pietEnTeuntje = adm.addHuwelijk(piet, teuntje, new GregorianCalendar(1970, Calendar.MAY, 23)); nu = GregorianCalendar.getInstance(); }
@Test public void testSetEnIsHuwelijk() { /** * registreert het huwelijk, mits dit gezin nog geen huwelijk is en beide ouders op deze datum * mogen trouwen (pas op: ook de toekomst kan hierbij een rol spelen omdat toekomstige gezinnen * eerder zijn geregisteerd) */ 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); assertFalse("is geen huwelijk", annieEnJan.isHuwelijkOp(nu)); /* * * @param datum de huwelijksdatum * @return false als huwelijk niet mocht worden voltrokken, anders true */ Calendar huwdatum = new GregorianCalendar(2008, Calendar.FEBRUARY, 3); Calendar laterDanHuwdatum = new GregorianCalendar(2008, Calendar.FEBRUARY, 4); Calendar eerderDanHuwdatum = new GregorianCalendar(2008, Calendar.FEBRUARY, 2); assertTrue("huwelijk is niet voltrokken", annieEnJan.setHuwelijk(huwdatum)); assertTrue("huwelijksdatum later invoeren onjuist", annieEnJan.isHuwelijkOp(nu)); assertTrue("huwelijksdatum invoeren onjuist", annieEnJan.isHuwelijkOp(laterDanHuwdatum)); assertFalse("huwelijksdatum invoeren onjuist", annieEnJan.isHuwelijkOp(eerderDanHuwdatum)); assertFalse("huwelijk is ten onrechte voltrokken", annieEnJan.setHuwelijk(nu)); assertEquals("2e huwelijksdatum invoeren onjuist", huwdatum, annieEnJan.getHuwelijksdatum()); /* (pas op: ook de toekomst kan * hierbij een rol spelen omdat toekomstige gezinnen eerder zijn * geregisteerd)*/ Persoon pim = adm.addPersoon( Geslacht.MAN, new String[] {"Pim"}, "Pieterse", "VaN deR", new GregorianCalendar(1985, Calendar.APRIL, 13), "venLO", null); Gezin annieEnPim = adm.addHuwelijk(annie, pim, eerderDanHuwdatum); assertNull("huwelijk niet toegestaan vanwege toekomstig huwelijk", annieEnPim); }
private void loadTestSettings() { Administratie adm = controller.getAdministratie(); Persoon piet = adm.addPersoon( Geslacht.MAN, new String[] {"Piet"}, "Swinkels", "", new GregorianCalendar(1924, Calendar.APRIL, 23), "Den Haag", null); Persoon teuntje = adm.addPersoon( Geslacht.VROUW, new String[] {"Teuntje"}, "Vries", "de", new GregorianCalendar(1927, Calendar.MAY, 5), "Doesburg", null); Gezin teuntjeEnPiet = adm.addOngehuwdGezin(teuntje, piet); Persoon gijs = adm.addPersoon( Geslacht.MAN, new String[] {"Gijs", "Jozef"}, "Swinkels", "", new GregorianCalendar(1944, Calendar.APRIL, 21), "Geldrop", teuntjeEnPiet); Persoon ferdinand = adm.addPersoon( Geslacht.MAN, new String[] {"Ferdinand", "Karel", "Helene"}, "Vuiter", "de", new GregorianCalendar(1901, Calendar.JULY, 14), "Amsterdam", null); Persoon annalouise = adm.addPersoon( Geslacht.VROUW, new String[] {"Annalouise", "Isabel", "Teuntje"}, "Vuiter", "de", new GregorianCalendar(1902, Calendar.OCTOBER, 1), "Amsterdam", null); Gezin ferdinandEnAnnalouise = adm.addHuwelijk(ferdinand, annalouise, new GregorianCalendar(1921, Calendar.MAY, 5)); Persoon louise = adm.addPersoon( Geslacht.VROUW, new String[] {"Louise", "Isabel", "Helene"}, "Vuiter", "de", new GregorianCalendar(1927, Calendar.JANUARY, 15), "Amsterdam", ferdinandEnAnnalouise); Gezin louiseAlleen = adm.addOngehuwdGezin(louise, null); Persoon mary = adm.addPersoon( Geslacht.VROUW, new String[] {"mary"}, "Vuiter", "de", new GregorianCalendar(1943, Calendar.MAY, 25), "Rotterdam", louiseAlleen); Gezin gijsEnMary = adm.addOngehuwdGezin(gijs, mary); Persoon jaron = adm.addPersoon( Geslacht.MAN, new String[] {"Jaron"}, "Swinkels", "", new GregorianCalendar(1962, Calendar.JULY, 22), "Velp", gijsEnMary); saveFile(); }
@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)); }
@Test public void testStamboom() { Administratie adm = new Administratie(); Persoon piet = adm.addPersoon( Geslacht.MAN, new String[] {"Piet"}, "Swinkels", "", new GregorianCalendar(1924, Calendar.APRIL, 23), "Den Haag", null); Persoon teuntje = adm.addPersoon( Geslacht.VROUW, new String[] {"Teuntje"}, "Vries", "de", new GregorianCalendar(1927, Calendar.MAY, 5), "Doesburg", null); Gezin teuntjeEnPiet = adm.addOngehuwdGezin(teuntje, piet); Persoon gijs = adm.addPersoon( Geslacht.MAN, new String[] {"Gijs", "Jozef"}, "Swinkels", "", new GregorianCalendar(1944, Calendar.APRIL, 21), "Geldrop", teuntjeEnPiet); Persoon ferdinand = adm.addPersoon( Geslacht.MAN, new String[] {"Ferdinand", "Karel", "Helene"}, "Vuiter", "de", new GregorianCalendar(1901, Calendar.JULY, 14), "Amsterdam", null); Persoon annalouise = adm.addPersoon( Geslacht.VROUW, new String[] {"Annalouise", "Isabel", "Teuntje"}, "Vuiter", "de", new GregorianCalendar(1902, Calendar.OCTOBER, 1), "Amsterdam", null); Gezin ferdinandEnAnnalouise = adm.addHuwelijk(ferdinand, annalouise, new GregorianCalendar(1921, Calendar.MAY, 5)); Persoon louise = adm.addPersoon( Geslacht.VROUW, new String[] {"Louise", "Isabel", "Helene"}, "Vuiter", "de", new GregorianCalendar(1927, Calendar.JANUARY, 15), "Amsterdam", ferdinandEnAnnalouise); Gezin louiseAlleen = adm.addOngehuwdGezin(louise, null); Persoon mary = adm.addPersoon( Geslacht.VROUW, new String[] {"mary"}, "Vuiter", "de", new GregorianCalendar(1943, Calendar.MAY, 25), "Rotterdam", louiseAlleen); Gezin gijsEnMary = adm.addOngehuwdGezin(gijs, mary); Persoon jaron = adm.addPersoon( Geslacht.MAN, new String[] {"Jaron"}, "Swinkels", "", new GregorianCalendar(1962, Calendar.JULY, 22), "Velp", gijsEnMary); assertEquals("afmeting boom onjuist", 8, jaron.afmetingStamboom()); String stamboomstring = jaron.stamboomAlsString(); String[] regels = stamboomstring.split(System.getProperty("line.separator")); assertEquals("aantal regels", 8, regels.length); assertEquals("regel 3 onjuist", " T. de Vries (VROUW) 5-5-1927", regels[2]); System.out.println(stamboomstring); }