public void TestGetCompanyByKey()
        {
            var db      = new InsuredItemsDbContext();
            var company = db.Companies.Include(c => c.CompanyCompanyTypes).ThenInclude(c => c.CompanyType).FirstOrDefault(c => c.Key == 23);

            Assert.IsNotNull(company);
            Assert.AreEqual(company.CompanyCompanyTypes.Count, 1);
        }
        public void TestAddCompanyType()
        {
            var dbcontext = new InsuredItemsDbContext(new DbContextOptionsBuilder <InsuredItemsDbContext>().UseInMemoryDatabase("TestDb").Options);

            for (int i = 0; i < 100; i++)
            {
                var companytype = new CompanyType();
                companytype.TypeName = RandomString(21, BinaryString);
                dbcontext.CompanyTypes.Add(companytype);
            }

            dbcontext.SaveChanges();
        }
        public void Test1()
        {
            Console.WriteLine("First core test");
            Assert.IsTrue(true);

            var dbcontext = new InsuredItemsDbContext();

            //dbcontext.Database.EnsureCreated();
            Assert.IsNotNull(dbcontext);
            var list = dbcontext.Companies.ToList();

            Assert.IsNotNull(list);
        }
        public void TestGetCompaniesWithAddress()
        {
            IList <Company> list;

            using (var db = new InsuredItemsDbContext())
            {
                list = db.Companies.Include(c => c.Address).Where(c => c.Address != null).ToList();
            }

            foreach (var company in list)
            {
                Console.WriteLine($"{company.CompanyName}    address:{company.Address.StreetName}");
            }
        }
        public void TestAddCompanyToCompanyType()
        {
            Console.WriteLine();
            var db = new InsuredItemsDbContext(new DbContextOptionsBuilder <InsuredItemsDbContext>().UseInMemoryDatabase("TestDb").Options);

            foreach (var companyType in db.CompanyTypes)
            {
                var company = new Company();
                company.CompanyName = RandomString(51, AllChars);
                company.CompanyCompanyTypes.Add(new CompanyCompanyType()
                {
                    Company = company, CompanyType = companyType
                });
                db.Companies.Add(company);
            }

            db.SaveChanges();
        }
        public void TestAddAddressToCompany()
        {
            Console.WriteLine();
            using (var db = new InsuredItemsDbContext(new DbContextOptionsBuilder <InsuredItemsDbContext>().UseInMemoryDatabase("TestDb").Options))
            {
                foreach (var company in db.Companies.Include(c => c.Address))
                {
                    if (company.Address == null)
                    {
                        company.Address = new Address();
                    }
                    company.Address.Country    = RandomString(10, AllChars);
                    company.Address.StreetName = RandomString(21, AllChars);
                }

                db.SaveChanges();
            }
        }
        public void TestAddCompanies()
        {
            Console.WriteLine();
            using (var db = new InsuredItemsDbContext(new DbContextOptionsBuilder <InsuredItemsDbContext>().UseLoggerFactory(InsuredItemsDbContext.MyLoggerFactory).UseInMemoryDatabase("TestDb").Options))
            {
                for (int i = 0; i < 100; i++)
                {
                    var company = new Company();
                    company.CompanyName = RandomString(51, AllChars);
                    db.Companies.Add(company);
                    db.SaveChanges();
                }
            }

            using (var db = new InsuredItemsDbContext(new DbContextOptionsBuilder <InsuredItemsDbContext>().UseLoggerFactory(InsuredItemsDbContext.MyLoggerFactory).UseInMemoryDatabase("TestDb").Options))
            {
                foreach (var company in db.Companies)
                {
                    Console.WriteLine($"{company.CompanyName}");
                }
            }
        }