// @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(); }
@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 testAbgeschlosseneAuftraege() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Kunde kunde1 = new Kunde(name1, adressTyp1); session.save(kunde1); Kunde kunde2 = new Kunde(name2, adressTyp2); session.save(kunde2); Produkt produkt1 = new Produkt("Chrysantheme", 10, 5.0F); session.save(produkt1); Angebot angebot1 = auftragMgmt.erstelleAngebot(kunde1, session); auftragMgmt.fuegeProduktZuAngebotHinzu(angebot1, produkt1, 7, session); Angebot angebot2 = auftragMgmt.erstelleAngebot(kunde2, session); auftragMgmt.fuegeProduktZuAngebotHinzu(angebot2, produkt1, 10, session); Angebot angebot3 = auftragMgmt.erstelleAngebot(kunde2, session); Auftrag auftrag1 = auftragMgmt.erstelleAuftrag(angebot1, session); auftragMgmt.erstelleAuftrag(angebot2, session); auftragMgmt.erstelleAuftrag(angebot3, session); List<Auftrag> listeNichtAbgeschlossen = auftragMgmt.getNichtAbgeschlosseneAuftraege(produkt1, session); assertEquals(listeNichtAbgeschlossen.size(), 2); assertFalse(auftrag1.isIstAbgeschlossen()); auftragMgmt.markiereAuftragAlsAbgeschlossen(auftrag1.getAuftragId(), session); assertTrue(auftrag1.isIstAbgeschlossen()); listeNichtAbgeschlossen = auftragMgmt.getNichtAbgeschlosseneAuftraege(produkt1, session); assertEquals(listeNichtAbgeschlossen.size(), 1); session.getTransaction().commit(); }
@Test public void testGetAuftragAngebotUndTypen() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Kunde kunde1 = new Kunde(name1, adressTyp1); session.save(kunde1); Kunde kunde2 = new Kunde(name2, adressTyp2); session.save(kunde2); Produkt produkt1 = new Produkt("Chrysantheme", 10, 5.0F); session.save(produkt1); Angebot angebot1 = auftragMgmt.erstelleAngebot(kunde1, session); Angebot angebot2 = auftragMgmt.erstelleAngebot(kunde2, session); Auftrag auftrag1 = auftragMgmt.erstelleAuftrag(angebot1, session); Auftrag auftrag2 = auftragMgmt.erstelleAuftrag(angebot2, session); AngebotTyp angebotTyp1a = auftragMgmt.getAngebotTyp(angebot1); AngebotTyp angebotTyp1b = auftragMgmt.getAngebotTyp(angebot1); AngebotTyp angebotTyp2a = auftragMgmt.getAngebotTyp(angebot2); assertEquals(angebotTyp1a, angebotTyp1b); assertFalse(angebotTyp1a.equals(angebotTyp2a)); AuftragTyp auftragTyp1a = auftragMgmt.getAuftragTyp(auftrag1); AuftragTyp auftragTyp1b = auftragMgmt.getAuftragTyp(auftrag1); AuftragTyp auftragTyp2a = auftragMgmt.getAuftragTyp(auftrag2); assertEquals(auftragTyp1a, auftragTyp1b); assertFalse(auftragTyp1a.equals(auftragTyp2a)); Angebot an1 = auftragMgmt.getAngebot(angebot1.getAngebotId(), session); Auftrag auf1 = auftragMgmt.getAuftrag(auftrag1.getAuftragId(), session); assertEquals(an1, angebot1); assertEquals(auf1, auftrag1); auftragMgmt.markiereAuftragAlsAbgeschlossen(auftrag2.getAuftragId(), session); Auftrag auf2 = auftragMgmt.getAuftrag(auftrag2.getAuftragId(), session); assertTrue(auf2.equals(auftrag2)); AuftragTyp auftragTyp2b = auftragMgmt.getAuftragTyp(auftrag2); assertFalse(auftragTyp2a.equals(auftragTyp2b)); session.getTransaction().commit(); }