コード例 #1
0
  @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();
  }
コード例 #2
0
  @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();
  }