@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(); }
// @Test public void testAngebotUndAuftragAnlegen() { 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); Angebot angebot2 = auftragMgmt.erstelleAngebot(kunde2, session); Auftrag auftrag1 = auftragMgmt.erstelleAuftrag(angebot1, session); Auftrag auftrag2 = auftragMgmt.erstelleAuftrag(angebot2, session); Angebot an1 = (Angebot) session.get(Angebot.class, 1); Auftrag au1 = (Auftrag) session.get(Auftrag.class, 1); assertEquals(an1, angebot1); assertTrue(an1.getGesamtPreis() < 2); assertTrue(an1.getProdukte().isEmpty()); assertEquals(au1, auftrag1); assertFalse(au1.isIstAbgeschlossen()); assertEquals(au1.getAuftragId(), 1); assertFalse(auftrag2.equals(au1)); session.getTransaction().commit(); }