@Test
  public void testProduktZuAngebotHinzufuegenUndEntfernen() {

    Session session = sessionFactory.getCurrentSession();
    session.beginTransaction();

    Kunde kunde1 = new Kunde(name1, adressTyp1);
    session.save(kunde1);
    Kunde kunde2 = new Kunde(name2, adressTyp2);
    session.save(kunde2);

    Angebot angebot1 = auftragMgmt.erstelleAngebot(kunde1, session);

    Produkt produkt1 = new Produkt("Chrysantheme", 10, 5.0F);
    session.save(produkt1);
    Produkt produkt2 = new Produkt("Maiglöckchen", 20, 2.5F);
    session.save(produkt2);
    Produkt produkt3 = new Produkt("Krokus", 25, 0.5F);
    session.save(produkt3);
    session.getTransaction().commit();

    int menge1 = 20;
    int menge2 = 40;

    session = sessionFactory.getCurrentSession();
    session.beginTransaction();

    auftragMgmt.fuegeProduktZuAngebotHinzu(angebot1, produkt1, menge1, session);
    auftragMgmt.fuegeProduktZuAngebotHinzu(angebot1, produkt2, menge2, session);

    assertEquals(angebot1.getProdukte().size(), 2);
    assertTrue(
        angebot1.getGesamtPreis() > (5.0 * 19 + 2.5 * 40)
            && angebot1.getGesamtPreis() < (5.0 * 20 + 2.5 * 41));

    auftragMgmt.fuegeProduktZuAngebotHinzu(angebot1, produkt3, menge1, session);
    assertEquals(angebot1.getProdukte().size(), 3);

    auftragMgmt.fuegeProduktZuAngebotHinzu(angebot1, produkt3, menge1, session);
    assertEquals(angebot1.getProdukte().size(), 3);

    auftragMgmt.entferneProduktAusAngebot(angebot1, produkt1, session);
    assertEquals(angebot1.getProdukte().size(), 2);
    assertTrue(
        angebot1.getGesamtPreis() > (2.5 * 40 + 0.5 * 39)
            && angebot1.getGesamtPreis() < (2.5 * 40 + 0.5 * 41));

    session.getTransaction().commit();
  }