public void TestInsert() { Helper.Db.Drop(); //Insert de Paises Country c = new Country {Code = "es", Name = "España"}; try { c.Save<Country>(); } catch (ValidatePropertyException ex) { Assert.AreEqual(ex.Message, "Error Validating Property Code: es must be ES"); c.Code = "ES"; c.Save<Country>(); } c = new Country {Code = "UK", Name = "Reino Unido"}; c.Save<Country>(); c = new Country {Code = "US", Name = "Estados Unidos"}; c.Save<Country>(); List<Country> Countries = Country.FindAsList<Country>("Code", "ES"); Assert.AreEqual(Countries.Count, 1); Countries = Country.FindAsList<Country>("Code", "UK"); Assert.AreEqual(Countries.Count, 1); Countries = Country.FindAsList<Country>("Code", "US"); Assert.AreEqual(Countries.Count, 1); //Insert de personas Person p = new Person { Id = 1, Name = "Pepito Perez", Age = 35, BirthDate = DateTime.Now.AddDays(57).AddYears(-35), Married = true, Country = "ES", BankBalance = decimal.Parse("3500,00") }; p.Childs.Add(new Child() { ID = 1, Age = 10, BirthDate = DateTime.Now.AddDays(57).AddYears(-10), Name = "Juan Perez" }); p.Childs.Add(new Child() { ID = 2, Age = 7, BirthDate = DateTime.Now.AddDays(57).AddYears(-7), Name = "Ana Perez" }); p.Save<Person>(); p = new Person { Id = 2, Name = "Juanito Sanchez", Age = 25, BirthDate = DateTime.Now.AddDays(52).AddYears(-38), Married = true, Country = "ES", BankBalance = decimal.Parse("1500,00") }; p.Childs.Add(new Child() { ID = 1, Age = 5, BirthDate = DateTime.Now.AddDays(7).AddYears(-5), Name = "Toni Sanchez" }); p.Save<Person>(); p = new Person { Id = 3, Name = "Andres Perez", Age = 25, BirthDate = DateTime.Now.AddDays(25).AddYears(-25), Married = false, Country = "ES", BankBalance = decimal.Parse("500,00") }; p.Save<Person>(); p = new Person { Id = 4, Name = "Marta Serrano", Age = 28, BirthDate = DateTime.Now.AddDays(28).AddYears(-28), Married = false, Country = "ES", BankBalance = decimal.Parse("9500,00") }; p.Childs.Add(new Child() { ID = 1, Age = 2, BirthDate = DateTime.Now.AddDays(2).AddYears(-2), Name = "Toni Serrano" }); p.Save<Person>(); p = new Person { Id = 5, Name = "Jonh Smith", Age = 21, BirthDate = DateTime.Now.AddDays(21).AddYears(-21), Married = false, Country = "US", BankBalance = decimal.Parse("100,00") }; p.Save<Person>(); for(int i=0; i<5; i++) { int I = i + 1; List<Person> Persons = Person.FindAsList<Person>("Id", I); Assert.AreEqual(Persons.Count,1); } }
public void TestRelations() { Country c = new Country { Code = "ES", Name = "España" }; c.Save<Country>(); c = new Country { Code = "UK", Name = "Reino Unido" }; c.Save<Country>(); Person p = new Person { Id = 1, Name = "Pepito Perez", Age = 35, BirthDate = DateTime.Now.AddDays(57).AddYears(-35), Married = true, Country = "XXXXX", BankBalance = decimal.Parse("3500,00") }; p.Childs.Add(new Child() { ID = 1, Age = 10, BirthDate = DateTime.Now.AddDays(57).AddYears(-10), Name = "Juan Perez" }); p.Childs.Add(new Child() { ID = 2, Age = 7, BirthDate = DateTime.Now.AddDays(57).AddYears(-7), Name = "Ana Perez" }); bool ValidateRelationExceptionThrow = false; try { p.Save<Person>(); } catch (ValidateUpRelationException) { ValidateRelationExceptionThrow = true; p.Country = "ES"; p.Save<Person>(); } Assert.AreEqual(ValidateRelationExceptionThrow, true); ValidateRelationExceptionThrow = false; c = Country.FindByKey<Country>("ES"); try { c.Delete<Country>(); } catch (ValidateDownRelationException) { ValidateRelationExceptionThrow = true; List<Person> Persons = c.GetRelation<Person>("Person,Country"); foreach (Person p2 in Persons) { p2.Country = "UK"; p2.Save<Person>(); } c.Delete<Person>(); } Assert.AreEqual(ValidateRelationExceptionThrow, true); c = Country.FindByKey<Country>("UK"); List<Person> PersonasEnUK = c.GetRelation<Person>("Person,Country"); foreach (Person PersonInUK in PersonasEnUK) { Assert.AreEqual(PersonInUK.Country, "UK"); Assert.AreEqual(PersonInUK.GetRelation<Country>("Country,Code").First().Code, "UK"); } }
public void TestOriginalValue() { Country c = new Country { Code = "ES", Name = "España" }; c.Save<Country>(); Person p = new Person { Id = 1, Name = "Pepito Perez", Age = 35, BirthDate = DateTime.Now.AddDays(57).AddYears(-35), Married = true, Country = "ES", BankBalance = decimal.Parse("3500,00") }; p.Childs.Add(new Child() { ID = 1, Age = 10, BirthDate = DateTime.Now.AddDays(57).AddYears(-10), Name = "Juan Perez" }); p.Childs.Add(new Child() { ID = 2, Age = 7, BirthDate = DateTime.Now.AddDays(57).AddYears(-7), Name = "Ana Perez" }); p.Save<Person>(); p.Name = "Juan Sin Miedo"; object OriginalName = p.GetOriginalValue<Person>("Name"); Assert.AreEqual(OriginalName.ToString(), "Pepito Perez"); }