示例#1
0
        public void Ein_Produkt_löschen() {
            var produkt = new Produkt {Id = "#42"};
            sut.Save(produkt);
            Assert.That(sut.Load("#42"), Is.SameAs(produkt));

            sut.Delete(produkt);
            Assert.That(sut.Load("#42"), Is.Null);
        }
示例#2
0
        public bool settInnBestillng(Produkt bestiltProdukt)
        {
            int kundeID; // brukes til enten eksisterende KId eller den nye KId

            var db = new OnlineStoreEntities();
              // se om kunden eksitere
              Kunde funnetKunde = db.Kunder.FirstOrDefault(k => k.Navn == bestiltProdukt.navn);

            using (var dbTransaksjon = db.Database.BeginTransaction())
            {
                if (funnetKunde == null)
                {
                    // opprett kunder obj
                    var kunde = new Kunde();
                    kunde.Navn = bestiltProdukt.navn;
                    kunde.Adresse = bestiltProdukt.adresse;
                    kunde.Telefonnr = bestiltProdukt.telefonnr;
                    try
                    {
                        db.Kunder.Add(kunde);
                        db.SaveChanges();
                        kundeID = kunde.KId; // nå har kunde.KId fått riktig verdi (den nye ID)
                    }
                    catch (Exception feil)
                    {
                        dbTransaksjon.Rollback();
                        return false;
                    }
                }
                else
                {
                    kundeID = funnetKunde.KId;
                }

                // registrer bestillingen på kunden, enten ny eller gammel
                var bestilling = new Bestilling()
                {   // en annen måte å initsiere attributter i en klasse når den
                  //instansieres (må ikke ha konstruktør for å gjøre dette)
                    KId = kundeID,
                    Antall = bestiltProdukt.antall,
                    ProduktNavn = bestiltProdukt.ProduktType,
                    Pris = bestiltProdukt.Pris
                };

                try
                {
                    db.Bestillinger.Add(bestilling);
                    db.SaveChanges();
                    dbTransaksjon.Commit();
                    return true;
                }
                catch (Exception feil)
                {
                    dbTransaksjon.Rollback();
                    return false;
                }
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            JsonSerializer<Produkt> js = new JsonSerializer<Produkt>("NewFile");

            Produkt produkt = new Produkt() { Height = 98, Id = 8, Name = "ugyuyg", Weight = 98 };

            js.Serialize(produkt);

            Console.WriteLine(js.Deserialize());
        }
示例#4
0
        public void WłasciwoscKategoria_NowaWartoscTest()
        {
            //Arrange
            var produkt = new Produkt();

            produkt.Kategoria = "Geografia";
            string oczekiwana = "Geografia";

            //Act
            var aktualna = produkt.Kategoria;

            //Assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#5
0
        public void ZlozZamowienie_DolaczAdresTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Tekst zamowienia Dołączamy adres");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10, Dostawca.DolaczAdres.Tak, Dostawca.WyslijKopie.Nie);

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#6
0
        //GET: Produkt/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Produkt produkt = _repo.PobierzProdukt((int)id);

            if (produkt == null)
            {
                return(HttpNotFound());
            }
            return(View(produkt));
        }
示例#7
0
        public IHttpActionResult DeleteProdukt(int id)
        {
            Produkt produkt = db.Produkts.Find(id);

            if (produkt == null)
            {
                return(NotFound());
            }

            db.Produkts.Remove(produkt);
            db.SaveChanges();

            return(Ok(produkt));
        }
        public void ProduktAnsehen(Produkt produkt)
        {
            var viewProdukt       = new ViewProdukt();
            var modelProdukt      = new ModelProdukt(_datenbank, produkt);
            var controllerProdukt = new ControllerProdukt(modelProdukt);

            viewProdukt.Controller         = controllerProdukt;
            controllerProdukt.ModelProdukt = modelProdukt;
            modelProdukt.ViewProdukt       = viewProdukt;

            viewProdukt.ShowDialog();

            ProduktListeAktualisieren();
        }
示例#9
0
        public void Kategoria_NowaWartoscTest()
        {
            // Arrange (zaranżuj test)
            var produkt = new Produkt();

            produkt.Kategoria = "Geografia";
            var oczekiwana = "Geografia";

            //ACT (działaj)
            var aktualna = produkt.Kategoria;

            // Assert (potwierdz test)
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#10
0
        private string uploudImages(IFormFile file, Produkt produkt, string namefolder)
        {
            string path          = ($"Produkty/{produkt.Kod}/images/{namefolder}");
            string pathCreteFile = ($"../DataFiles/Produkty/{produkt.Kod}/images/{namefolder}/");

            if (!Directory.Exists(pathCreteFile))
            {
                Directory.CreateDirectory(pathCreteFile);
            }
            pathCreteFile = Path.Combine(pathCreteFile, file.FileName);
            FileStream fileStream = saveFile(file, pathCreteFile);

            return(Path.Combine(path, file.FileName));
        }
示例#11
0
        public void ZlozZamowienie_Ilosc_Exception_Test()
        {
            // Arange
            var dostawca = new Dostawca();
            var produkt  = new Produkt(1, "Biurko", "Opis");

            //ACT wykonaj test
            var actualna = dostawca.ZlozZamowienie(produkt, 0);

            // Assert

            // Assert.AreEqual(oczekiwana, actualna);
            //  Oczekiwany Wyjątek
        }
示例#12
0
        public void Ein_Produkt_speichern_und_wieder_laden() {
            var produkt = new Produkt {
                Id = "#1",
                Name = "iPad",
                Kategorie = "Zeugs"
            };
            sut.Save(produkt);

            var result = sut.Load("#1");

            Assert.That(result.Id, Is.EqualTo("#1"));
            Assert.That(result.Name, Is.EqualTo("iPad"));
            Assert.That(result.Kategorie, Is.EqualTo("Zeugs"));
        }
示例#13
0
        public void WłasciwoscNazwaProdukt_PrawidlowaNazwaProduktu_Test()
        {
            //Arrange
            var    produkt             = new Produkt(1, "Krzesło", "Krzesło obrotowe z oparciem");
            string oczekiwana          = "Krzesło";
            string oczekiwanaWiadomosc = null;
            //Act
            var aktualna          = produkt.NazwaProduktu;
            var aktualnaWiadomosc = produkt.Wiadomosc;

            //Assert
            Assert.AreEqual(oczekiwana, aktualna);
            Assert.AreEqual(oczekiwanaWiadomosc, aktualnaWiadomosc);
        }
示例#14
0
        public void WłasciwoscNazwaProdukt_NazwaProduktuZaDługa_Test()
        {
            //Arrange
            var    produkt             = new Produkt(1, "Krzesło obrotowe z oparciem w kolorze czerwonym", "Krzesło obrotowe z oparciem");
            string oczekiwana          = null;
            string oczekiwanaWiadomosc = "Nazwa produktu nie może być dłuższa niż 30 znaków";
            //Act
            var aktualna          = produkt.NazwaProduktu;
            var aktualnaWiadomosc = produkt.Wiadomosc;

            //Assert
            Assert.AreEqual(oczekiwana, aktualna);
            Assert.AreEqual(oczekiwanaWiadomosc, aktualnaWiadomosc);
        }
示例#15
0
        public IActionResult Update(Produkt updatedProduct)
        {
            var c = _context.Produkt.FirstOrDefault(e => e.IdProduktu == updatedProduct.IdProduktu);

            if (c == null)
            {
                return(NotFound());
            }
            _context.Produkt.Attach(updatedProduct);
            _context.Entry(updatedProduct).State = EntityState.Modified;
            _context.SaveChanges();

            return(Ok(updatedProduct));
        }
示例#16
0
        public void ObliczSugerowanaCenaTest()
        {
            // Arrange (zaranżuj test)
            var produkt = new Produkt(1, "Biurko", "opis");

            produkt.Koszt = 200m;
            var oczekiwana = 220m;

            //ACT (działaj)
            var aktualna = produkt.ObliczSugerowanaCena(10);

            // Assert (potwierdz test)
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#17
0
        public void Numer_NowaWartoscTest()
        {
            // Arrange (zaranżuj test)
            var produkt = new Produkt();

            produkt.Numer = 400;
            var oczekiwana = 400;

            //ACT (działaj)
            var aktualna = produkt.Numer;

            // Assert (potwierdz test)
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#18
0
        public void ZlozZamowienie_DolaczAdresTest()
        {
            // Arrange(zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Tekst zamówienia Dołączamy adres");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, Dostawca.DolaczAdres.Tak, Dostawca.WyslijKopie.Nie);

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#19
0
        public void WłasciwoscNumer_NowaWartoscTest()
        {
            //Arrange
            var produkt = new Produkt();

            produkt.Numer = 400;
            var oczekiwana = 400;

            //Act
            var aktualna = produkt.Numer;

            //Assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#20
0
        public void ZlozZamowienie4parametryTest()
        {
            // Arrange (zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 15\r\nData dostawy: 2019-04-22\r\nInstrukcje: testowe instrukcje");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15, new DateTimeOffset(2019, 4, 22, 0, 0, 0, new TimeSpan(8, 0, 0)), "testowe instrukcje");

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#21
0
        public void NazwaProduktu_FormatTest()
        {
            //arrange
            var produkt = new Produkt();

            produkt.NazwaProduktu = "  Krzesło obrotowe  ";
            var oczekiwana = "Krzesło obrotowe";

            //act
            var aktualna = produkt.NazwaProduktu;

            //assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#22
0
        public void PowiedzWitajSparametryzowanyKonstruktorTest()
        {
            // Arrange (zaranżuj test)
            var produkt = new Produkt(1, "Biurko", "Czerwone biurko");


            var oczekiwana = "Witaj Biurko (1): Czerwone biurko";

            // ACT (działaj)
            var aktualna = produkt.PowiedzWitaj();

            //Assert (potwierdz test)
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#23
0
        public void Kategoria_NowaWartoscTest()
        {
            //arrange
            var produkt = new Produkt();

            produkt.Kategoria = "Geografia";
            var oczekiwana = "Geografia";

            //act
            var aktualna = produkt.Kategoria;

            //assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#24
0
        public void Numer_NowaWartoscTest()
        {
            //arrange
            var produkt = new Produkt();

            produkt.Numer = 300;
            var oczekiwana = 300;

            //act
            var aktualna = produkt.Numer;

            //assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#25
0
        public void ObliczSugerowanaCeneTest()
        {
            //arrange
            var produkt = new Produkt(1, "Biurko", "Opis");

            produkt.Koszt = 200m;
            var oczekiwana = 220m;

            //act
            var aktualna = produkt.ObliczSugerowanaCene(10);

            //assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#26
0
        public void ZlozZamowienie_Ilosc_ExceptionTest()
        {
            //Arrange (zaranzuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = true;

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 0);


            // Assert (potwierdź test)
            // oczekiwany wyjątek
        }
示例#27
0
        public double GetProduktKostnaderPre(string produkt)
        {
            using (var db = new DataContext())
            {
                lön                = 0;
                kostnader          = 0;
                pålägg             = 0;
                ÅrsarbeteAvdelning = 0;
                produkten          = (from x in db.Produkt
                                      where x.ProduktID == produkt
                                      select x).FirstOrDefault();
                List <string> test = new List <string>();

                double årsarbetare = 0;

                personalkostnad = from x in db.PersonalProdukt
                                  join y in db.Personal on x.Personal_PersonalID equals y.PersonalID
                                  where x.Produkt_ProduktID == produkten.ProduktID
                                  select x;

                PersonalPåAvdelning = from x in db.Produkt
                                      join y in db.PersonalProdukt on x.ProduktID equals y.Produkt_ProduktID
                                      where x.Avdelning_AvdelningID == produkten.Avdelning_AvdelningID
                                      select y;

                foreach (var item in personalkostnad)
                {
                    årsarbetare += (double)(item.Placeringsandel / 100);
                }
                foreach (var item in PersonalPåAvdelning)
                {
                    lön += (double)(item.Personal.Månadslön * (item.Placeringsandel / 100));
                    ÅrsarbeteAvdelning += (double)(item.Placeringsandel / 100);
                }

                //foreach (var item in testdata.ProduktY)
                //{
                //    lön += (double)(item.Månadslön * (item.Placering / 100));
                //    årsarbetare += (double)(item.Placering / 100);
                //}

                double perskostnadavd = BeräknaPersRelKostnad(db, produkten.Avdelning);

                kostnader = (årsarbetare / ÅrsarbeteAvdelning) * perskostnadavd + GetDirektKostnaderProdukt(produkt);
                //kostnader = lön + beräknadschablon + testdata.DirektKostnadProduktY;


                return(kostnader);
            }
        }
示例#28
0
        public void ZlozZamowienie4ParametryTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 10\r\nData dostawy: 2020/04/22\r\nInstrukcje: testowe instrukcje");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10, new DateTimeOffset(2020, 4, 22, 0, 0, 0, new TimeSpan(8, 0, 0)), "testowe instrukcje");

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
        public void NazwaProduktu_FormatTest()
        {
            // Arange

            var produkt = new Produkt();

            produkt.NazwaProduktu = " Krzesło Obrotowe  ";
            var oczekiwana = "Krzesło Obrotowe";
            //ACT wykonaj test
            var aktualna = produkt.NazwaProduktu;

            // Assert
            Assert.AreEqual(oczekiwana, aktualna);
        }
示例#30
0
        public void ZlozZamowienieTest()
        {
            //arrange
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "Opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 10\r\nInstrukcje: Standardowa dostawa");

            //act
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 10);

            //assert
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#31
0
        public void ZlozZamowienie_DolaczAdre_test()
        {
            // Arange
            var dostawca   = new Dostawca();
            var produkt    = new Produkt(1, "Biurko", "Opis");
            var oczekiwana = new WynikOperacji(true, "Tekst zamowienia Adres zamowienia");
            //ACT wykonaj test
            var actualna = dostawca.ZlozZamowienie(produkt, 15, dolaczAdres: Dostawca.DolaczAdres.Tak, wyslijKopie: Dostawca.WyslijKopie.Nie);

            // Assert

            Assert.AreEqual(oczekiwana.Sukces, actualna.Sukces);
            Assert.AreEqual(oczekiwana.Wiadomosc, actualna.Wiadomosc);
        }
示例#32
0
        // GET: ProduktHant/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Produkt produkt = db.Produkts.Find(id);

            if (produkt == null)
            {
                return(HttpNotFound());
            }
            return(View(produkt));
        }
示例#33
0
        public void ZlozZamowienieTest()
        {
            // Arrange (zaranżuj test)
            var dostawca          = new Dostawca();
            var produkt           = new Produkt(1, "Biurko", "opis");
            var wartoscOczekiwana = new WynikOperacji(true, "Zamowienie z DevHobby.pl\r\nProdukt: Informatyka - 0001\r\nIlość: 15\r\nInstrukcje: Standartowa dostawa");

            //ACT (działaj)
            var wartoscAktualna = dostawca.ZlozZamowienie(produkt, 15);

            // Assert (potwierdz test)
            Assert.AreEqual(wartoscOczekiwana.Sukces, wartoscAktualna.Sukces);
            Assert.AreEqual(wartoscOczekiwana.Wiadomosc, wartoscAktualna.Wiadomosc);
        }
示例#34
0
        public void Ein_Produkt_ändern() {
            var produkt = new Produkt {
                Id = "#1",
                Name = "iPad",
                Kategorie = "Zeugs"
            };
            sut.Save(produkt);

            produkt.Kategorie = "Gadget";
            sut.Save(produkt);

            var result = sut.Load("#1");
            Assert.That(result.Kategorie, Is.EqualTo("Gadget"));
        }
        public ActionResult Create(Produkt prod)
        {
            try
            {
                core.UnitOfWork.ProduktRepository.Add(prod);
                core.UnitOfWork.Save();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#36
0
        public void Id_wird_durch_Save_erzeugt_aber_Entity_noch_nicht_gespeichert() {
            var store = new DocumentStore {Url = "http://localhost:8080"};
            store.Initialize();

            var produkt = new Produkt();
            Assert.That(produkt.Id, Is.Null);

            using (var session = store.OpenSession()) {
                session.Store(produkt);
            }
            Assert.That(produkt.Id, Is.Not.Null);

            Produkt result;
            using (var session = store.OpenSession()) {
                result = session.Load<Produkt>(produkt.Id);
            }
            Assert.That(result, Is.Null);
        }
        public ActionResult AddProd(HttpPostedFile file)
        {
            var u = new Uploader();
            var p = new Produkt();
            string path = Request.PhysicalApplicationPath + "images/";
            p.KatID = int.Parse(Request["ddlKat"]);

            for (var i = 0; i < Request.Files.Count; i++)
            {
                var postedFile = Request.Files[i];
                p.Billede = Path.GetFileName(u.UploadImage(postedFile, path, 0, true));

            }

            p.Navn = Request["txtNavn"];
            p.Pris = decimal.Parse(Request["txtPris"]);
            p.Tekst = Request["txtTekst"];

            pf.Insert(p);

            return View("AddProduct");
        }
示例#38
0
        public void Session_stellt_Objektidentität_sicher() {
            var store = new DocumentStore {Url = "http://localhost:8080"};
            store.Initialize();

            var produkt = new Produkt();

            using (var session = store.OpenSession()) {
                session.Store(produkt);
                session.SaveChanges();

                var produkt2 = session.Load<Produkt>(produkt.Id);
                Assert.That(produkt2, Is.SameAs(produkt));

                var produkt3 = session.Load<Produkt>(produkt.Id);
                Assert.That(produkt3, Is.SameAs(produkt));
            }

            using (var session = store.OpenSession()) {
                var produkt2 = session.Load<Produkt>(produkt.Id);
                Assert.That(produkt2, Is.Not.SameAs(produkt));
            }
        }
示例#39
0
        public void Optimistic_Concurrency_bei_Updates_in_mehreren_Sessions() {
            var store = new DocumentStore {Url = "http://localhost:8080"};
            store.Initialize();

            // Initialzustand der Datenbank herstellen
            var produkt = new Produkt {Name = "a"};
            using (var session = store.OpenSession()) {
                session.Store(produkt);
                session.SaveChanges();
            }

            // Erste Session lädt das Dokument als 'referenz1'
            using (var session1 = store.OpenSession()) {
                session1.Advanced.UseOptimisticConcurrency = true;

                var referenz1 = session1.Load<Produkt>(produkt.Id);

                // Zweite Session lädt das Dokument als 'referenz2'
                // und modifiziert es
                using (var session2 = store.OpenSession()) {
                    var referenz2 = session2.Load<Produkt>(produkt.Id);
                    Assert.That(referenz2, Is.Not.SameAs(referenz1));

                    referenz2.Name = "b";
                    session2.SaveChanges();
                }

                // 'referenz1' hat die Änderungen aus der zweiten
                // Session noch nicht gesehen, daher Bumm!
                referenz1.Name = "c";
                Assert.Throws<ConcurrencyException>(session1.SaveChanges);

                // Refresh hilft...
                session1.Advanced.Refresh(referenz1);
                referenz1.Name = "c";
                session1.SaveChanges();
            }
        }
示例#40
0
        public List<Produkt> listAlleBestillnger()
        {
            using (var db = new OnlineStoreEntities())
              {
            List<Kunde> alleKunder = db.Kunder.ToList();

            List<Produkt> alleBestillinger = new List<Produkt>();
            foreach (var kunde in alleKunder)
            {
              foreach (var best in kunde.Bestillinger)
              {
            var enBestilling = new Produkt();
            enBestilling.navn = kunde.Navn;
            enBestilling.adresse = kunde.Adresse;
            enBestilling.telefonnr = kunde.Telefonnr;
            enBestilling.ProduktType = best.ProduktNavn;
            enBestilling.antall = best.Antall;
            enBestilling.Pris = best.Pris;
            alleBestillinger.Add(enBestilling);
              }
            }
            return alleBestillinger;
              }
        }
示例#41
0
        public void Ein_Produkt_mit_Bewertungen_speichern_und_laden() {
            var produkt = new Produkt {
                Name = "FooBar",
                Kategorie = "Gadgets",
                Bewertungen = new[] {
                    new Bewertung {
                        Sternchen = 5,
                        Kommentar = "Besser als geschnittenes Brot"
                    },
                    new Bewertung {
                        Sternchen = 1,
                        Kommentar = "Käse"
                    }
                }
            };
            sut.Save(produkt);

            var result = sut.Load(produkt.Id);

            Assert.That(result.Bewertungen.Count, Is.EqualTo(2));
        }
示例#42
0
        public void Bewertungen_zu_einem_Produkt() {
            var produkt = new Produkt {
                Name = "FooBar",
                Kategorie = "Gadgets",
                Bewertungen = new[] {
                    new Bewertung {
                        Sternchen = 5,
                    },
                    new Bewertung {
                        Sternchen = 1,
                    },
                    new Bewertung {
                        Sternchen = 2,
                    }
                }
            };
            sut.Save(produkt);

            var result = sut.Bewertungen(produkt.Id);
            Assert.That(result.Minimum, Is.EqualTo(1));
            Assert.That(result.Mittelwert, Is.EqualTo(2.666).Within(0.001));
            Assert.That(result.Maximum, Is.EqualTo(5));
        }