@Test
  public void verwijder() {
    Kapsalon kapsalon = new Kapsalon();
    afspraakRepository.getEm().persist(kapsalon);
    Medewerker medewerker = new Medewerker();
    medewerker.setKapsalon(kapsalon);
    afspraakRepository.getEm().persist(medewerker);
    Soort soort = new Soort();
    afspraakRepository.getEm().persist(soort);

    Afspraak afspraak = new Afspraak();
    afspraak.setSoort(soort);
    afspraak.setMedewerker(medewerker);
    afspraak.setKapsalon(kapsalon);
    afspraakRepository.opslaan(afspraak);

    Afspraak afspraak2 = new Afspraak();
    afspraak2.setSoort(soort);
    afspraak2.setMedewerker(medewerker);
    afspraak2.setKapsalon(kapsalon);
    afspraakRepository.opslaan(afspraak2);

    assertEquals(2, afspraakRepository.allesBijKapsalon(kapsalon).size());
    afspraakRepository.verwijder(afspraak);
    assertEquals(1, afspraakRepository.allesBijKapsalon(kapsalon).size());
  }
  @Test
  public void alleAfsprakenBijMedewerker() {
    Kapsalon kapsalon = new Kapsalon();
    kapsalon.setNaam("Fa. List & Bedrog");
    afspraakRepository.getEm().persist(kapsalon);

    Klant klant = new Klant();
    Soort soort = new Soort();
    Medewerker medewerker = new Medewerker();
    Medewerker medewerker2 = new Medewerker();

    klant.setKapsalon(kapsalon);
    medewerker.setKapsalon(kapsalon);
    medewerker2.setKapsalon(kapsalon);

    afspraakRepository.getEm().persist(klant);
    afspraakRepository.getEm().persist(soort);
    afspraakRepository.getEm().persist(medewerker);
    afspraakRepository.getEm().persist(medewerker2);
    afspraakRepository.getEm().merge(kapsalon);

    Afspraak afspraak = new Afspraak();
    Afspraak afspraak2 = new Afspraak();

    afspraak.setDatum(new LocalDateTime());
    afspraak.setKapsalon(kapsalon);
    afspraak.setKlant(klant);
    afspraak.setOpmerking("opmerking");
    afspraak.setSoort(soort);
    afspraak.setMedewerker(medewerker);
    afspraak2.setDatum(new LocalDateTime());
    afspraak2.setKapsalon(kapsalon);
    afspraak2.setKlant(klant);
    afspraak2.setOpmerking("opmerking");
    afspraak2.setSoort(soort);
    afspraak2.setMedewerker(medewerker2);

    afspraakRepository.opslaan(afspraak);
    afspraakRepository.opslaan(afspraak2);

    assertEquals(1, afspraakRepository.alleAfsprakenBijMedewerker(medewerker).size());
    System.out.println(afspraakRepository.alleAfsprakenBijMedewerker(medewerker).get(0));
  }
  @Test
  public void testKlantNietGeregistreerd() {
    TypedQuery<KlantNietGeregistreerd> queryWeg =
        afspraakRepository
            .getEm()
            .createNamedQuery("KlantNietGeregistreerdalles", KlantNietGeregistreerd.class);
    List<KlantNietGeregistreerd> weg = queryWeg.getResultList();
    for (KlantNietGeregistreerd kng : weg) {
      afspraakRepository.getEm().remove(kng);
    }

    KlantNietGeregistreerd kng1 = new KlantNietGeregistreerd();
    KlantNietGeregistreerd kng2 = new KlantNietGeregistreerd();

    kng1.setIdentificatie("id");
    kng1.setNaam("naam");

    kng2.setIdentificatie("id");
    kng2.setNaam("Naam");
    kng2.setTelefoon("telefoon");

    afspraakRepository.getEm().getTransaction().begin();
    afspraakRepository.getEm().persist(kng1);
    afspraakRepository.getEm().getTransaction().commit();

    Kapsalon kapsalon = new Kapsalon();
    afspraakRepository.getEm().persist(kapsalon);

    Afspraak afspraak = new Afspraak();
    afspraak.setKapsalon(kapsalon);
    afspraak.setKlantNietGeregistreerd(kng2);

    TypedQuery<KlantNietGeregistreerd> query =
        afspraakRepository
            .getEm()
            .createNamedQuery("KlantNietGeregistreerdalles", KlantNietGeregistreerd.class);
    List<KlantNietGeregistreerd> ret = query.getResultList();

    assertEquals(1, ret.size());
    assertEquals("naam", ret.get(0).getNaam());
    assertNull(ret.get(0).getTelefoon());

    afspraakRepository.opslaan(afspraak);

    query =
        afspraakRepository
            .getEm()
            .createNamedQuery("KlantNietGeregistreerdalles", KlantNietGeregistreerd.class);
    ret = query.getResultList();

    assertEquals(2, ret.size());
    assertEquals("Naam", ret.get(1).getNaam());
    assertEquals("telefoon", ret.get(1).getTelefoon());
  }
  @Test
  public void alleAfsprakenBijMedewerkerEnDatum() {
    Kapsalon kapsalon = new Kapsalon();
    afspraakRepository.getEm().persist(kapsalon);
    Medewerker medewerker = new Medewerker();
    medewerker.setKapsalon(kapsalon);
    afspraakRepository.getEm().persist(medewerker);
    Medewerker medewerker2 = new Medewerker();
    medewerker2.setKapsalon(kapsalon);
    afspraakRepository.getEm().persist(medewerker2);
    Soort soort = new Soort();
    afspraakRepository.getEm().persist(soort);

    Afspraak afspraak = new Afspraak();
    Afspraak afspraak2 = new Afspraak();
    Afspraak afspraak3 = new Afspraak();

    afspraak.setMedewerker(medewerker);
    afspraak.setKapsalon(kapsalon);
    afspraak.setSoort(soort);
    afspraak2.setMedewerker(medewerker);
    afspraak2.setKapsalon(kapsalon);
    afspraak2.setSoort(soort);
    afspraak3.setMedewerker(medewerker2);
    afspraak3.setKapsalon(kapsalon);
    afspraak3.setSoort(soort);

    // Calendar cal = Calendar.getInstance();
    // cal.set(2012, 8, 14, 10, 10);
    // afspraak.setDatum(cal.getTime());
    // Calendar cal2 = Calendar.getInstance();
    // cal2.set(2012, 8, 15, 10, 10);
    // afspraak2.setDatum(cal2.getTime());
    // Calendar cal3 = Calendar.getInstance();
    // cal3.set(2012, 8, 16, 10, 10);
    // afspraak3.setDatum(cal3.getTime());

    Calendar cal4 = Calendar.getInstance();
    cal4.set(2012, 8, 17, 10, 10);

    afspraakRepository.opslaan(afspraak);
    afspraakRepository.opslaan(afspraak2);
    afspraakRepository.opslaan(afspraak3);

    // cal.roll(Calendar.MINUTE, -1);
    // assertEquals(1,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker,
    // cal.getTime(), cal2.getTime()).size());
    // assertEquals(0,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker2,
    // cal.getTime(), cal2.getTime()).size());
    // cal2.roll(Calendar.MINUTE, -1);
    // assertEquals(1,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker,
    // cal2.getTime(), cal3.getTime()).size());
    // assertEquals(0,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker2,
    // cal2.getTime(), cal3.getTime()).size());
    // cal3.roll(Calendar.MINUTE, -1);
    // assertEquals(0,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker,
    // cal3.getTime(), cal4.getTime()).size());
    // assertEquals(1,
    // afspraakRepository.alleAfsprakenBijMedewerkerEnDatum(medewerker2,
    // cal3.getTime(), cal4.getTime()).size());

  }
  @Test
  @Ignore
  public void alleAfsprakenBijDatum() {
    Kapsalon kapsalon = new Kapsalon();
    afspraakRepository.getEm().persist(kapsalon);
    Medewerker medewerker = new Medewerker();
    medewerker.setKapsalon(kapsalon);
    afspraakRepository.getEm().persist(medewerker);
    Soort soort = new Soort();
    afspraakRepository.getEm().persist(soort);

    Afspraak afspraak = new Afspraak();
    Afspraak afspraak2 = new Afspraak();
    Afspraak afspraak3 = new Afspraak();

    afspraak.setMedewerker(medewerker);
    afspraak.setKapsalon(kapsalon);
    afspraak.setSoort(soort);
    afspraak2.setMedewerker(medewerker);
    afspraak2.setKapsalon(kapsalon);
    afspraak2.setSoort(soort);
    afspraak3.setMedewerker(medewerker);
    afspraak3.setKapsalon(kapsalon);
    afspraak3.setSoort(soort);

    afspraak.setDatum(new LocalDateTime(2012, 8, 14, 10, 10));
    afspraak2.setDatum(new LocalDateTime(2012, 8, 15, 10, 10));
    afspraak3.setDatum(new LocalDateTime(2012, 8, 16, 10, 10));

    Calendar cal4 = Calendar.getInstance();
    cal4.set(2012, 8, 17, 10, 10);

    afspraakRepository.opslaan(afspraak);
    afspraakRepository.opslaan(afspraak2);
    afspraakRepository.opslaan(afspraak3);

    assertEquals(
        1,
        afspraakRepository
            .alleAfsprakenBijDatum(
                new LocalDateTime(2012, 8, 14, 10, 9),
                new LocalDateTime(2012, 8, 14, 10, 11),
                kapsalon)
            .size());
    assertEquals(
        1,
        afspraakRepository
            .alleAfsprakenBijDatum(
                new LocalDateTime(2012, 8, 15, 10, 9),
                new LocalDateTime(2012, 8, 15, 10, 11),
                kapsalon)
            .size());
    assertEquals(
        1,
        afspraakRepository
            .alleAfsprakenBijDatum(
                new LocalDateTime(2012, 8, 16, 10, 9),
                new LocalDateTime(2012, 8, 16, 10, 11),
                kapsalon)
            .size());
  }