示例#1
0
        public void OpdaterRostatistikTest()
        {
            //NB: DENNE TEST SLETTER ALT DATA I BASEN
            UnitTestHelper.InitierAlleKomponenterMedDefault();

            UnitTestHelper.SletAlt();

            Baad baad = UnitTestHelper.LavEnkeltBaad();
            UnitTestHelper.IndsaetXNytMedlem(1, MedlemsstatusEnum.Aktiv);
            Medlem medlem = UnitTestHelper.HentFoersteMedlem();
            DateTime detteAar = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0));
            DateTime sidsteAar = detteAar.Subtract(TimeSpan.FromDays(365));
            List<int> turlaengderDetteAar = new List<int>();
            List<int> turlaengderSidsteAar = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 5; i++)
            {
                int turlaengde = r.Next(100);
                turlaengderDetteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, detteAar, turlaengde);
                turlaengde = r.Next(100);
                turlaengderSidsteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, sidsteAar, turlaengde);
            }

            MedlemBO medlemBO = new MedlemBO(medlem);
            medlemBO.OpdaterRostatistik();
            Assert.AreEqual(medlem.Rostatistik.KilometerDetteAar, turlaengderDetteAar.Sum());
            Assert.AreEqual(medlem.Rostatistik.KilometerSidsteAar, turlaengderSidsteAar.Sum());
        }
示例#2
0
        public static Baad LavEnkeltBaad()
        {
            Baad baad = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                baad = new Baad();
                baad.AntalPersoner              = 1;
                baad.BaadType                   = new BaadType();
                baad.BaadType.BaadKategori      = new BaadKategori();
                baad.BaadType.BaadKategori.Navn = "Kategori1";
                baad.BaadType.Navn              = "Kategori1s baadtype1";
                baad.Navn = "Foerste baad";
                db.Baads.Add(baad);
                db.SaveChanges();
            }
            return(baad);
        }
示例#3
0
 public static Baad LavEnkeltBaad()
 {
     Baad baad = null;
     using (ArkDatabase db = new ArkDatabase())
     {
         baad = new Baad();
         baad.AntalPersoner = 1;
         baad.BaadType = new BaadType();
         baad.BaadType.BaadKategori = new BaadKategori();
         baad.BaadType.BaadKategori.Navn = "Kategori1";
         baad.BaadType.Navn = "Kategori1s baadtype1";
         baad.Navn = "Foerste baad";
         db.Baads.Add(baad);
         db.SaveChanges();
     }
     return baad;
 }
示例#4
0
        public void ArkDatabase_DisposeAndModel()
        {
            //NB: DENNE TEST SLETTER ALT DATA I BASEN

            UnitTestHelper.InitierAlleKomponenterMedDefault();

            UnitTestHelper.SletAlt();

            Baad baad = UnitTestHelper.LavEnkeltBaad();

            UnitTestHelper.IndsaetXNytMedlem(1, MedlemsstatusEnum.Aktiv);
            Medlem     medlem               = UnitTestHelper.HentFoersteMedlem();
            DateTime   detteAar             = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0));
            DateTime   sidsteAar            = detteAar.Subtract(TimeSpan.FromDays(365));
            List <int> turlaengderDetteAar  = new List <int>();
            List <int> turlaengderSidsteAar = new List <int>();
            Random     r = new Random();

            for (int i = 0; i < 5; i++)
            {
                int turlaengde = r.Next(100);
                turlaengderDetteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, detteAar, turlaengde);
                turlaengde = r.Next(100);
                turlaengderSidsteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, sidsteAar, turlaengde);
            }

            ArkDatabase db = null;

            #region Eager loading
            using (db = new ArkDatabase())
            {
                //Eager loading. Inkluderer fuld load af de nævnte felter og lister
                medlem = db.Medlems.Include("Rostatistik").Include("Turdeltagers.Tur").First(medlemItem => medlemItem.ID == medlem.ID);
            }
            bool fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Allerede lazy loadede Properties forbliver efter disposet forbindelse
            using (db = new ArkDatabase())
            {
                //Lazy loading. Loader først felter og lister ved forespørgsel
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsFalse(fejler);
            #endregion

            #region Lazy loading - Tilgang af ikke loadede Properties efter disposed Arkdatabase -> Disposed exception
            using (db = new ArkDatabase())
            {
                medlem = db.Medlems.First(medlemItem => medlemItem.ID == medlem.ID);
            }
            fejler = false;
            try
            {
                Rostatistik        rostatistik  = medlem.Rostatistik;
                List <Turdeltager> turdeltagere = medlem.Turdeltagers.ToList();
                List <Tur>         ture         = turdeltagere.Select(turdeltagerItem => turdeltagerItem.Tur).ToList();
            }
            catch (Exception)
            {
                fejler = true;
            }
            Assert.IsTrue(fejler);
            #endregion
        }