예제 #1
0
        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]);
                }
        }
예제 #2
0
        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]);

            }
        }