public void ShouldInsertClassWithEmbededList() { using (TestDatabaseContext testContext = new TestDatabaseContext()) using (var db = new ODatabase(TestConnection.GlobalTestDatabaseAlias)) { var employeeListTypeClassName = "EmployeeListType"; var clusterid = db.Create.Class(employeeListTypeClassName).Run(); var employee = new EmployeeListType(); employee.Id = Guid.NewGuid(); employee.Name = new List <string>(); employee.Name.Add("Andrew"); employee.Name.Add("Jack"); employee.Age = new List <int>(); employee.Age.Add(1); employee.Age.Add(2); employee.BirthDate = new List <DateTime>(); employee.BirthDate.Add(DateTime.Now); employee.BirthDate.Add(DateTime.Now.AddDays(-3)); employee.Childs = new List <EmployeeCommonType>(); employee.Childs.Add(new EmployeeCommonType() { Id = Guid.NewGuid() }); employee.Childs.Add(new EmployeeCommonType() { Id = Guid.NewGuid() }); employee.FavoriteColor = new List <Color>(); employee.FavoriteColor.Add(Color.Red); employee.FavoriteColor.Add(Color.Blue); employee.Height = new List <short>(); employee.Height.Add(323); employee.Height.Add(333); employee.Ids = new List <Guid>(); employee.Ids.Add(Guid.NewGuid()); employee.Ids.Add(Guid.NewGuid()); employee.IsMarried = new List <bool>(); employee.IsMarried.Add(true); employee.IsMarried.Add(false); employee.Salary = new List <decimal>(); employee.Salary.Add((decimal)1234567890.123456789); employee.Salary.Add((decimal)1234567890.123456799); employee.Tall = new List <long>(); employee.Tall.Add(3233); employee.Tall.Add(3234); employee.YearlyIncome = new List <double>(); employee.YearlyIncome.Add(3233); employee.YearlyIncome.Add(1234); var document = db.Insert <EmployeeListType>(employee).Run(); var result = db.Query <EmployeeListType>("SELECT * FROM " + employeeListTypeClassName + " WHERE Id = '" + employee.Id + "'").SingleOrDefault(); Assert.Equal(employee.Id, result.Id); Assert.Equal(employee.Ids[0], result.Ids[0]); Assert.Equal(employee.Ids[1], result.Ids[1]); Assert.Equal(employee.Name[0], result.Name[0]); Assert.Equal(employee.Name[1], result.Name[1]); Assert.Equal(employee.Age[0], result.Age[0]); Assert.Equal(employee.Age[1], result.Age[1]); Assert.Equal(employee.Age[0], result.Age[0]); Assert.Equal(employee.Salary[0], result.Salary[0]); Assert.Equal(employee.Salary[1], result.Salary[1]); Assert.Equal(employee.IsMarried[0], result.IsMarried[0]); Assert.Equal(employee.IsMarried[1], result.IsMarried[1]); // Error happen here. Assert.Equal(employee.Childs[0].Id, result.Childs[0].Id); Assert.Equal(employee.Childs[1].Id, result.Childs[1].Id); Assert.Equal(employee.BirthDate[0].ToString("D"), result.BirthDate[0].ToString("D")); Assert.Equal(employee.BirthDate[1].ToString("D"), result.BirthDate[1].ToString("D")); Assert.Equal(employee.YearlyIncome[0], result.YearlyIncome[0]); Assert.Equal(employee.YearlyIncome[1], result.YearlyIncome[1]); Assert.Equal(employee.FavoriteColor[0], result.FavoriteColor[0]); Assert.Equal(employee.FavoriteColor[1], result.FavoriteColor[1]); Assert.Equal(employee.Height[0], result.Height[0]); Assert.Equal(employee.Height[1], result.Height[1]); Assert.Equal(employee.Tall[0], result.Tall[0]); Assert.Equal(employee.Tall[1], result.Tall[1]); } }
public void ShouldInsertClassWithEmbededList() { using (TestDatabaseContext testContext = new TestDatabaseContext()) using (var db = new ODatabase(TestConnection.GlobalTestDatabaseAlias)) { var employeeListTypeClassName = "EmployeeListType"; var clusterid = db.Create.Class(employeeListTypeClassName).Run(); var employee = new EmployeeListType(); employee.Id = Guid.NewGuid(); employee.Name = new List<string>(); employee.Name.Add("Andrew"); employee.Name.Add("Jack"); employee.Age = new List<int>(); employee.Age.Add(1); employee.Age.Add(2); employee.BirthDate = new List<DateTime>(); employee.BirthDate.Add(DateTime.Now); employee.BirthDate.Add(DateTime.Now.AddDays(-3)); employee.Childs = new List<EmployeeCommonType>(); employee.Childs.Add(new EmployeeCommonType() { Id = Guid.NewGuid() }); employee.Childs.Add(new EmployeeCommonType() { Id = Guid.NewGuid() }); employee.FavoriteColor = new List<Color>(); employee.FavoriteColor.Add(Color.Red); employee.FavoriteColor.Add(Color.Blue); employee.Height = new List<short>(); employee.Height.Add(323); employee.Height.Add(333); employee.Ids = new List<Guid>(); employee.Ids.Add(Guid.NewGuid()); employee.Ids.Add(Guid.NewGuid()); employee.IsMarried = new List<bool>(); employee.IsMarried.Add(true); employee.IsMarried.Add(false); employee.Salary = new List<decimal>(); employee.Salary.Add((decimal)1234567890.123456789); employee.Salary.Add((decimal)1234567890.123456799); employee.Tall = new List<long>(); employee.Tall.Add(3233); employee.Tall.Add(3234); employee.YearlyIncome = new List<double>(); employee.YearlyIncome.Add(3233); employee.YearlyIncome.Add(1234); var document = db.Insert<EmployeeListType>(employee).Run(); var result = db.Query<EmployeeListType>("SELECT * FROM " + employeeListTypeClassName + " WHERE Id = '" + employee.Id + "'").SingleOrDefault(); Assert.Equal(employee.Id, result.Id); Assert.Equal(employee.Ids[0], result.Ids[0]); Assert.Equal(employee.Ids[1], result.Ids[1]); Assert.Equal(employee.Name[0], result.Name[0]); Assert.Equal(employee.Name[1], result.Name[1]); Assert.Equal(employee.Age[0], result.Age[0]); Assert.Equal(employee.Age[1], result.Age[1]); Assert.Equal(employee.Age[0], result.Age[0]); Assert.Equal(employee.Salary[0], result.Salary[0]); Assert.Equal(employee.Salary[1], result.Salary[1]); Assert.Equal(employee.IsMarried[0], result.IsMarried[0]); Assert.Equal(employee.IsMarried[1], result.IsMarried[1]); // Error happen here. Assert.Equal(employee.Childs[0].Id, result.Childs[0].Id); Assert.Equal(employee.Childs[1].Id, result.Childs[1].Id); Assert.Equal(employee.BirthDate[0].ToLongDateString(), result.BirthDate[0].ToLongDateString()); Assert.Equal(employee.BirthDate[1].ToLongDateString(), result.BirthDate[1].ToLongDateString()); Assert.Equal(employee.YearlyIncome[0], result.YearlyIncome[0]); Assert.Equal(employee.YearlyIncome[1], result.YearlyIncome[1]); Assert.Equal(employee.FavoriteColor[0], result.FavoriteColor[0]); Assert.Equal(employee.FavoriteColor[1], result.FavoriteColor[1]); Assert.Equal(employee.Height[0], result.Height[0]); Assert.Equal(employee.Height[1], result.Height[1]); Assert.Equal(employee.Tall[0], result.Tall[0]); Assert.Equal(employee.Tall[1], result.Tall[1]); } }