Ejemplo n.º 1
0
        public void Test_Country_Delete()
        {
            var country = new Country()
            {
                DetachedState     = DetachedState.Added,
                Capital           = countryCapitalDelete,
                ISO2              = countryISO2Delete,
                ISO3              = countryISO3Delete,
                ISOName           = countryISONameDelete,
                ISONumeric        = countryISONumericDelete,
                Name              = countryNameDelete,
                OfficialName      = countryOfficialNameDelete,
                OfficialNameLocal = countryOfficialNameLocalDelete
            };

            using (var entityManager = new CountriesEntityManager()) {
                var continent = entityManager.Set <Continent>()
                                .Where(x => x.Name == continentName)
                                .Single();
                country.Continent = continent;

                var currency = entityManager.Set <Currency>()
                               .Where(x => x.Code == currencyCode)
                               .Single();
                country.Currencies.Add(currency);

                var validationResults = Get_Validation_Results(country);
                Assert.AreEqual(expected: 0, actual: validationResults.Count);

                entityManager.AddEntity <Country>(country);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var countryFromDb = entityManager.Set <Country>()
                                    .Where(x => (x.Id == country.Id))
                                    // need to include related entities
                                    .Include(x => x.Currencies)
                                    .Include(x => x.Continent)
                                    .SingleOrDefault();

                Assert.IsNotNull(countryFromDb);

                entityManager.RemoveEntity <Country>(countryFromDb);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);

                countryFromDb = entityManager.Set <Country>()
                                .Where(x => (x.Id == country.Id))
                                .SingleOrDefault();

                Assert.IsNull(countryFromDb);
            }
        }
Ejemplo n.º 2
0
        public void Test_Country_Create()
        {
            var country = new Country()
            {
                DetachedState     = DetachedState.Added,
                Capital           = countryCapitalCreate,
                ISO2              = countryISO2Create,
                ISO3              = countryISO3Create,
                ISOName           = countryISONameCreate,
                ISONumeric        = countryISONumericCreate,
                Name              = countryNameCreate,
                OfficialName      = countryOfficialNameCreate,
                OfficialNameLocal = countryOfficialNameLocalCreate
            };

            using (var entityManager = new CountriesEntityManager()) {
                var continent = entityManager.Set <Continent>()
                                .Where(x => x.Name == continentName)
                                .Single();
                country.Continent = continent;

                var currency = entityManager.Set <Currency>()
                               .Where(x => x.Code == currencyCode)
                               .Single();
                country.Currencies.Add(currency);

                var validationResults = Get_Validation_Results(country);
                Assert.AreEqual(expected: 0, actual: validationResults.Count);

                entityManager.AddEntity <Country>(country);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var countryFromDb = entityManager.Set <Country>()
                                    .Where(x => (x.Id == country.Id))
                                    .Include(x => x.Currencies)
                                    .Include(x => x.Continent)
                                    .SingleOrDefault();

                Assert.IsNotNull(countryFromDb);
                Assert.AreEqual(expected: country.ToCSVString(), actual: countryFromDb.ToCSVString());

                // all entity properties must be virtual for this to work
                var proxy = countryFromDb as IEntityWithChangeTracker;
                Assert.IsNotNull(proxy);
            }
        }
Ejemplo n.º 3
0
        public void Test_CallingCode_Update()
        {
            var callingCode = new CallingCode()
            {
                DetachedState     = DetachedState.Added,
                CallingCodeNumber = callingCodeNumberUpdate
            };

            var validationResults = Get_Validation_Results(callingCode);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <CallingCode>(callingCode);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            callingCode.CallingCodeNumber = callingCodeNumberUpdate2;

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.Attach <CallingCode>(callingCode);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var callingCodeFromDb = entityManager.Set <CallingCode>()
                                        .Where(x => (x.Id == callingCode.Id))
                                        .SingleOrDefault();

                Assert.IsNotNull(callingCodeFromDb);
                Assert.AreEqual(expected: callingCodeNumberUpdate2, actual: callingCodeFromDb.CallingCodeNumber);
            }
        }
Ejemplo n.º 4
0
        public void Test_CallingCode_Create()
        {
            var callingCode = new CallingCode()
            {
                DetachedState     = DetachedState.Added,
                CallingCodeNumber = callingCodeNumberCreate
            };

            var validationResults = Get_Validation_Results(callingCode);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <CallingCode>(callingCode);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var dallingCodeFromDb = entityManager.Set <CallingCode>()
                                        .Where(x => (x.Id == callingCode.Id))
                                        .SingleOrDefault();

                Assert.IsNotNull(dallingCodeFromDb);
                Assert.AreEqual(expected: callingCode.ToCSVString(), actual: dallingCodeFromDb.ToCSVString());

                // all entity properties must be virtual for this to work
                var proxy = dallingCodeFromDb as IEntityWithChangeTracker;
                Assert.IsNotNull(proxy);
            }
        }
Ejemplo n.º 5
0
        public void Test_Continent_Create()
        {
            var continent = new Continent()
            {
                DetachedState = DetachedState.Added,
                Abbreviation  = continentAbbreviationCreate,
                Name          = continentNameCreate
            };

            var validationResults = Get_Validation_Results(continent);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Continent>(continent);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var continentFromDb = entityManager.Set <Continent>()
                                      .Where(x => (x.Id == continent.Id))
                                      .SingleOrDefault();

                Assert.IsNotNull(continentFromDb);
                Assert.AreEqual(expected: continent.ToCSVString(), actual: continentFromDb.ToCSVString());

                // all entity properties must be virtual for this to work
                var proxy = continentFromDb as IEntityWithChangeTracker;
                Assert.IsNotNull(proxy);
            }
        }
Ejemplo n.º 6
0
        public void Test_TimeZone_Create()
        {
            var timeZone = new Countries.DomainModel.TimeZone()
            {
                DetachedState   = DetachedState.Added,
                TimeZoneAcronym = timeZoneAbbreviationCreate,
                TimeZoneName    = timeZoneNameCreate,
                UTCOffset       = timeZoneUTCOffsetCreate
            };

            var validationResults = Get_Validation_Results(timeZone);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Countries.DomainModel.TimeZone>(timeZone);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var timeZoneFromDb = entityManager.Set <Countries.DomainModel.TimeZone>()
                                     .Where(x => (x.Id == timeZone.Id))
                                     .SingleOrDefault();

                Assert.IsNotNull(timeZoneFromDb);
                Assert.AreEqual(expected: timeZone.ToCSVString(), actual: timeZoneFromDb.ToCSVString());

                // all entity properties must be virtual for this to work
                var proxy = timeZoneFromDb as IEntityWithChangeTracker;
                Assert.IsNotNull(proxy);
            }
        }
Ejemplo n.º 7
0
        public void Test_TimeZone_ChangeTracker()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var timeZone = entityManager.Set <Countries.DomainModel.TimeZone>().Create();
                timeZone = entityManager.Set <Countries.DomainModel.TimeZone>().Add(timeZone);

                var changeTrackerEntry   = entityManager.Entry <Countries.DomainModel.TimeZone>(timeZone);
                var changeTrackerEntries = entityManager.ChangeTracker.Entries().ToList();

                Assert.IsNotNull(changeTrackerEntry);
                Assert.AreEqual(expected: 1, actual: changeTrackerEntries.Count);

                var timeZoneHashCode = timeZone.GetHashCode();
                var changeTrackerEntryEntityHashCode = changeTrackerEntries.Single().Entity.GetHashCode();

                Assert.AreEqual(timeZoneHashCode, changeTrackerEntryEntityHashCode);

                timeZone = null;
            }
        }
Ejemplo n.º 8
0
        public void Test_Continent_ChangeTracker()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var continent = entityManager.Set <Continent>().Create();
                continent = entityManager.Set <Continent>().Add(continent);

                var changeTrackerEntry   = entityManager.Entry <Continent>(continent);
                var changeTrackerEntries = entityManager.ChangeTracker.Entries().ToList();

                Assert.IsNotNull(changeTrackerEntry);
                Assert.AreEqual(expected: 1, actual: changeTrackerEntries.Count);

                var continentHashCode = continent.GetHashCode();
                var changeTrackerEntryEntityHashCode = changeTrackerEntries.Single().Entity.GetHashCode();

                Assert.AreEqual(continentHashCode, changeTrackerEntryEntityHashCode);

                continent = null;
            }
        }
Ejemplo n.º 9
0
        public void Test_TimeZone_Delete()
        {
            var timeZone = new Countries.DomainModel.TimeZone()
            {
                DetachedState   = DetachedState.Added,
                TimeZoneAcronym = timeZoneAbbreviationDelete,
                TimeZoneName    = timeZoneNameDelete,
                UTCOffset       = timeZoneUTCOffsetDelete
            };

            var validationResults = Get_Validation_Results(timeZone);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Countries.DomainModel.TimeZone>(timeZone);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var timeZoneFromDb = entityManager.Set <Countries.DomainModel.TimeZone>()
                                     .Where(x => (x.Id == timeZone.Id))
                                     .SingleOrDefault();

                Assert.IsNotNull(timeZoneFromDb);
            }

            var timeZoneToDelete = new Countries.DomainModel.TimeZone()
            {
                DetachedState = DetachedState.Deleted,
                Id            = timeZone.Id,
                RowVersion    = timeZone.RowVersion
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Countries.DomainModel.TimeZone>(timeZoneToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var timeZoneFromDb = entityManager.Set <Countries.DomainModel.TimeZone>()
                                     .Where(x => (x.Id == timeZone.Id))
                                     .SingleOrDefault();

                Assert.IsNull(timeZoneFromDb);
            }
        }
Ejemplo n.º 10
0
        public void Test_Currency_Delete()
        {
            var currency = new Currency()
            {
                DetachedState = DetachedState.Added,
                Code          = currencyCodeDelete,
                DecimalDigits = 2,
                Name          = currencyNameDelete
            };

            var validationResults = Get_Validation_Results(currency);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Currency>(currency);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var currencyFromDb = entityManager.Set <Currency>()
                                     .Where(x => (x.Id == currency.Id))
                                     .SingleOrDefault();

                Assert.IsNotNull(currencyFromDb);
            }

            var currencyToDelete = new Currency()
            {
                DetachedState = DetachedState.Deleted,
                Id            = currency.Id,
                RowVersion    = currency.RowVersion
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Currency>(currencyToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var currencyFromDb = entityManager.Set <Currency>()
                                     .Where(x => (x.Id == currency.Id))
                                     .SingleOrDefault();

                Assert.IsNull(currencyFromDb);
            }
        }
Ejemplo n.º 11
0
        public void Test_CallingCode_GetCallingCodes()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var callingCodes = entityManager.Set <CallingCode>().ToList();

                Assert.IsNotNull(callingCodes);
                Assert.AreNotEqual(notExpected: 0, actual: callingCodes.Count);

                foreach (var callingCode in callingCodes)
                {
                    // all entity properties must be virtual for this to work
                    var proxy = callingCode as IEntityWithChangeTracker;
                    Assert.IsNotNull(proxy);
                }
            }
        }
Ejemplo n.º 12
0
        public void Test_Continent_Delete()
        {
            var continent = new Continent()
            {
                DetachedState = DetachedState.Added,
                Abbreviation  = continentAbbreviationDelete,
                Name          = continentNameDelete
            };

            var validationResults = Get_Validation_Results(continent);

            Assert.AreEqual(expected: 0, actual: validationResults.Count);

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.AddEntity <Continent>(continent);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var continentFromDb = entityManager.Set <Continent>()
                                      .Where(x => (x.Id == continent.Id))
                                      .SingleOrDefault();

                Assert.IsNotNull(continentFromDb);
            }

            var continentToDelete = new Continent()
            {
                DetachedState = DetachedState.Deleted, Id = continent.Id
            };

            using (var entityManager = new CountriesEntityManager()) {
                entityManager.RemoveEntity <Continent>(continentToDelete);
                int updateCount = entityManager.SaveChanges();
                Assert.AreNotEqual(notExpected: 0, actual: updateCount);
            }

            using (var entityManager = new CountriesEntityManager()) {
                var continentFromDb = entityManager.Set <Continent>()
                                      .Where(x => (x.Id == continent.Id))
                                      .SingleOrDefault();

                Assert.IsNull(continentFromDb);
            }
        }
Ejemplo n.º 13
0
        public void Test_Country_GetCountrys()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var countries = entityManager.Set <Country>()
                                .Include(x => x.CallingCode)
                                .Include(x => x.Continent)
                                .Include(x => x.Currencies)
                                .ToList();

                Assert.IsNotNull(countries);
                Assert.AreNotEqual(notExpected: 0, actual: countries.Count);

                foreach (var country in countries)
                {
                    // all entity properties must be virtual for this to work
                    var proxy = country as IEntityWithChangeTracker;
                    Assert.IsNotNull(proxy);

                    try {
                        Assert.IsTrue(country.StringPropertiesAreTrim());
                    }
                    catch (Exception e) {
                        Debug.WriteLine($"Country: {country.ToCSVString()}");
                        throw;
                    }

                    try {
                        Assert.IsFalse(country.ToCSVString().Contains("ʻ"));
                    }
                    catch (Exception e) {
                        Debug.WriteLine($"Country: {country.ToCSVString()}");
                        throw;
                    }

                    try {
                        Assert.IsFalse(country.ToCSVString().Contains("’"));
                    }
                    catch (Exception e) {
                        Debug.WriteLine($"Country: {country.ToCSVString()}");
                        throw;
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public void Test_Continent_GetContinents()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var continents = entityManager.Set <Continent>()
                                 .Include(x => x.Countries)
                                 .ToList();

                Assert.IsNotNull(continents);
                Assert.AreNotEqual(notExpected: 0, actual: continents.Count);

                foreach (var continent in continents)
                {
                    // all entity properties must be virtual for this to work
                    var proxy = continent as IEntityWithChangeTracker;
                    Assert.IsNotNull(proxy);

                    Assert.IsTrue(continent.StringPropertiesAreTrim());
                }
            }
        }
Ejemplo n.º 15
0
        public void Test_TimeZone_GetTimeZones()
        {
            using (var entityManager = new CountriesEntityManager()) {
                var timeZones = entityManager.Set <Countries.DomainModel.TimeZone>()
                                .Include(x => x.Countries)
                                .ToList();

                Assert.IsNotNull(timeZones);
                Assert.AreNotEqual(notExpected: 0, actual: timeZones.Count);

                foreach (var timeZone in timeZones)
                {
                    // all entity properties must be virtual for this to work
                    var proxy = timeZone as IEntityWithChangeTracker;
                    Assert.IsNotNull(proxy);

                    Assert.IsTrue(timeZone.StringPropertiesAreTrim());
                }
            }
        }
Ejemplo n.º 16
0
 public void Test_CallingCode_Schema()
 {
     using (var entityManager = new CountriesEntityManager()) {
         var callingCodes = entityManager.Set <CallingCode>().Take(1).ToList();
     }
 }
Ejemplo n.º 17
0
 public void Test_TimeZone_Schema()
 {
     using (var entityManager = new CountriesEntityManager()) {
         var continents = entityManager.Set <Countries.DomainModel.TimeZone>().Take(1).ToList();
     }
 }
Ejemplo n.º 18
0
 public void Test_Continent_Schema()
 {
     using (var entityManager = new CountriesEntityManager()) {
         var continents = entityManager.Set <Continent>().Take(1).ToList();
     }
 }