コード例 #1
0
ファイル: TestCriteriaQuery5.cs プロジェクト: danfma/NDB
 public virtual void TestCriteriaWithDate()
 {
     var baseName = GetBaseName();
     var odb = Open(baseName);
     for (var i = 0; i < 10; i++)
     {
         var tc = new TestClass();
         tc.SetInt1(i);
         odb.Store(tc);
     }
     odb.Close();
     odb = Open(baseName);
     var query = odb.Query<TestClass>();
     query.Descend("int1").Constrain(0).Greater().Equal();
     var os = query.Execute<TestClass>();
     AssertEquals(10, os.Count);
     var j = 0;
     while (os.HasNext())
     {
         var tc = os.Next();
         AssertEquals(j, tc.GetInt1());
         j++;
     }
     odb.Close();
 }
コード例 #2
0
        public virtual void Test1()
        {
            OdbFactory.Delete("base1.ndb");
            using (var odb = OdbFactory.Open("base1.ndb"))
            {
                var fields = new[] {"int1"};
                odb.IndexManagerFor<TestClass>().AddUniqueIndexOn("index1", fields);
                var start = OdbTime.GetCurrentTimeInMs();
                var size = 50;
                for (var i = 0; i < size; i++)
                {
                    var testClass = new TestClass();
                    testClass.SetBigDecimal1(new Decimal(i));
                    testClass.SetBoolean1(i % 3 == 0);
                    testClass.SetChar1((char) (i % 5));
                    testClass.SetDate1(new DateTime(start + i));
                    testClass.SetDouble1(((double) (i % 10)) / size);
                    testClass.SetInt1(size - i);
                    testClass.SetString1("test class " + i);
                    odb.Store(testClass);
                }
            }

            using (var odb = OdbFactory.OpenLast())
            {
                var query = odb.Query<TestClass>();
                var count = query.Execute<TestClass>().Count<TestClass>();
                Assert.That(count, Is.EqualTo(50));
            }
        }
コード例 #3
0
ファイル: TestConsistency.cs プロジェクト: spolnik/ndatabase
 private TestClass GetTestClassInstance()
 {
     var tc = new TestClass();
     tc.SetBigDecimal1(new Decimal(1.123456789));
     tc.SetBoolean1(true);
     tc.SetChar1('d');
     tc.SetDouble1(154.78998989);
     tc.SetInt1(78964);
     tc.SetString1("Ola chico como vc est√° ???");
     tc.SetDate1(new DateTime());
     return tc;
 }
コード例 #4
0
 public virtual void TestSimpleInstance()
 {
     DeleteBase("t-simple-instance.ndb");
     var odb = Open("t-simple-instance.ndb");
     var tc1 = new TestClass();
     tc1.SetBigDecimal1(new Decimal(1.123456));
     tc1.SetBoolean1(true);
     tc1.SetChar1('d');
     tc1.SetDouble1(154.78998989);
     tc1.SetInt1(78964);
     tc1.SetString1("Ola chico como vc est\u00E1 ???");
     tc1.SetDate1(DateTime.Now);
     tc1.SetBoolean2(false);
     var tc2 = new TestClass();
     tc2.SetBigDecimal1(new Decimal(1.1234565454));
     tc2.SetBoolean1(false);
     tc2.SetChar1('c');
     tc2.SetDouble1(78454.8779);
     tc2.SetInt1(1254);
     tc2.SetString1("Ola chico como ca va ???");
     tc2.SetDate1(DateTime.Now);
     tc2.SetBoolean2(true);
     odb.Store(tc1);
     odb.Store(tc2);
     odb.Close();
     odb = Open("t-simple-instance.ndb");
     var query = odb.Query<TestClass>();
     var l = query.Execute<TestClass>(true);
     var tc12 = l.GetFirst();
     // println("#### " + l.size() + " : " + l);
     AssertEquals(tc1.GetBigDecimal1(), tc12.GetBigDecimal1());
     AssertEquals(tc1.GetString1(), tc12.GetString1());
     AssertEquals(tc1.GetChar1(), tc12.GetChar1());
     AssertEquals(tc1.GetDouble1(), tc12.GetDouble1());
     AssertEquals(tc1.GetInt1(), tc12.GetInt1());
     AssertEquals(tc1.IsBoolean1(), tc12.IsBoolean1());
     AssertEquals(false, tc12.GetBoolean2());
     Console.WriteLine(" Date is " + tc12.GetDate1());
     if (l.Count < 3)
         AssertEquals(tc1.GetDate1(), tc12.GetDate1());
     l.Next();
     var tc22 = l.Next();
     AssertEquals(tc2.GetBigDecimal1(), tc22.GetBigDecimal1());
     AssertEquals(tc2.GetString1(), tc22.GetString1());
     AssertEquals(tc2.GetChar1(), tc22.GetChar1());
     AssertEquals(tc2.GetDouble1(), tc22.GetDouble1());
     AssertEquals(tc2.GetInt1(), tc22.GetInt1());
     AssertEquals(tc2.IsBoolean1(), tc22.IsBoolean1());
     AssertEquals(true, tc2.GetBoolean2());
     if (l.Count < 3)
         AssertEquals(tc2.GetDate1(), tc22.GetDate1());
     odb.Close();
 }
コード例 #5
0
ファイル: TestCriteriaQuery4.cs プロジェクト: danfma/NDB
 public override void SetUp()
 {
     base.SetUp();
     DeleteBase(BaseName);
     var odb = Open(BaseName);
     var start = OdbTime.GetCurrentTimeInTicks();
     var size = 50;
     for (var i = 0; i < size; i++)
     {
         var tc = new TestClass();
         tc.SetBigDecimal1(new Decimal(i));
         tc.SetBoolean1(i % 3 == 0);
         tc.SetChar1((char) (i % 5));
         tc.SetDate1(new DateTime(1000 + start + i));
         tc.SetDouble1(((double) (i % 10)) / size);
         tc.SetInt1(size - i);
         tc.SetString1("test class " + i);
         odb.Store(tc);
     }
     var testClass = new TestClass();
     testClass.SetBigDecimal1(new Decimal(190.95));
     testClass.SetBoolean1(true);
     testClass.SetChar1('s');
     correctDate = new DateTime();
     testClass.SetDate1(correctDate);
     testClass.SetDouble1(190.99);
     testClass.SetInt1(190);
     testClass.SetString1("test class with values");
     odb.Store(testClass);
     var testClass2 = new TestClass();
     testClass2.SetBigDecimal1(0);
     testClass2.SetBoolean1(true);
     testClass2.SetChar1('s');
     correctDate = new DateTime();
     testClass2.SetDate1(correctDate);
     testClass2.SetDouble1(191.99);
     testClass2.SetInt1(1901);
     testClass2.SetString1("test class with null Decimal");
     odb.Store(testClass2);
     var testClass3 = new TestClass();
     odb.Store(testClass3);
     odb.Close();
 }
コード例 #6
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test16()
        {
            DeleteBase("valuesA3");

            var t = new StopWatch();
            const int size = 100;
            for (var j = 0; j < 10; j++)
            {
                t.Start();
                using (var odb = Open("valuesA3"))
                {
                    for (var i = 0; i < size; i++)
                    {
                        var tc1 = new TestClass();
                        tc1.SetInt1(45);
                        odb.Store(tc1);
                    }
                }
                t.End();
                Println(" time for insert = " + t.GetDurationInMiliseconds());
            }

            IValues values;
            IObjectValues ov;
            using (var odb = Open("valuesA3"))
            {
                t.Start();
                var valuesQuery = odb.ValuesQuery<TestClass>().Count("nb objects");
                values = valuesQuery.Execute();
                t.End();
                Println(values);
                Println(" time for count = " + t.GetDurationInMiliseconds());
                ov = values.NextValues();
            }

            AssertEquals(size * 10, ov.GetByAlias("nb objects"));
            AssertEquals(1, values.Count);
        }
コード例 #7
0
ファイル: TestGetValuesGroupBy.cs プロジェクト: danfma/NDB
        public void Test2()
        {
            DeleteBase(DbName2);
            using (var odb = Open(DbName2))
            {
                var tc1 = new TestClass();
                tc1.SetInt1(45);
                odb.Store(tc1);

                var tc2 = new TestClass();
                tc2.SetInt1(45);
                odb.Store(tc2);

                var tc3 = new TestClass();
                tc3.SetInt1(46);
                odb.Store(tc3);
            }

            IValues values;
            using (var odb = Open(DbName2))
            {
                var vq =
                    odb.ValuesQuery<TestClass>().Sum("int1", "sum of int1").Count("count").GroupBy("int1");
                vq.Descend("int1").OrderAscending();
                values = vq.Execute();
                Println(values);

                var ov = values.NextValues();
                AssertEquals(new Decimal(90), ov.GetByAlias("sum of int1"));
                AssertEquals(new Decimal(2), ov.GetByAlias("count"));

                ov = values.NextValues();
                AssertEquals(new Decimal(46), ov.GetByAlias("sum of int1"));
                AssertEquals(new Decimal(1), ov.GetByAlias("count"));
            }

            AssertEquals(2, values.Count());
        }
コード例 #8
0
ファイル: TestCriteriaQuery2.cs プロジェクト: danfma/NDB
 public void SetUp(string BaseName)
 {
     base.SetUp();
     DeleteBase(BaseName);
     var odb = Open(BaseName);
     var start = OdbTime.GetCurrentTimeInTicks();
     var size = 50;
     for (var i = 0; i < size; i++)
     {
         var testClass = new TestClass();
         testClass.SetBigDecimal1(new Decimal(i));
         testClass.SetBoolean1(i%3 == 0);
         testClass.SetChar1((char) (i%5));
         testClass.SetDate1(new DateTime(start + i));
         testClass.SetDouble1(((double) (i%10))/size);
         testClass.SetInt1(size - i);
         testClass.SetString1("test class " + i);
         odb.Store(testClass);
     }
     // println(testClass.getDouble1() + " | " + testClass.getString1() +
     // " | " + testClass.getInt1());
     odb.Close();
 }
コード例 #9
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test9_Min()
        {
            DeleteBase("valuesA9");
            long sum;
            using (var odb = Open("valuesA9"))
            {
                const int size = 1000;
                sum = 0;

                for (var i = 0; i < size; i++)
                {
                    var tc1 = new TestClass();
                    tc1.SetInt1(i);
                    odb.Store(tc1);
                    sum += i;
                }
            }

            decimal min;
            decimal avg;
            decimal bsum;
            using (var odb = Open("valuesA9"))
            {
                var valuesQuery =
                    odb.ValuesQuery<TestClass>().Min("int1", "min of int1").Avg("int1", "avg of int1").Sum("int1",
                                                                                                           "sum of int1");
                var values = valuesQuery.Execute();
                var ov = values.NextValues();
                min = (Decimal) ov.GetByAlias("min of int1");
                avg = (Decimal) ov.GetByAlias("avg of int1");
                bsum = (Decimal) ov.GetByAlias("sum of int1");
                Println(min);
                Println(avg);
                Println(bsum);
            }

            AssertEquals(new Decimal(sum), bsum);
            AssertEquals(new Decimal(0), min);
            AssertEquals(bsum / 1000, avg);
        }
コード例 #10
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test8_max_and_average()
        {
            DeleteBase("valuesA8");

            const int size = 1000;
            long sum;
            using (var odb = Open("valuesA8"))
            {
                sum = 0;
                for (var i = 0; i < size; i++)
                {
                    var tc1 = new TestClass();
                    tc1.SetInt1(i);
                    odb.Store(tc1);
                    sum += i;
                }
            }

            decimal max;
            decimal avg;
            decimal bsum;
            using (var odb = Open("valuesA8"))
            {
                var valuesQuery =
                    odb.ValuesQuery<TestClass>().Max("int1", "max of int1").Avg("int1", "avg of int1").Sum("int1",
                                                                                                           "sum of int1");
                var values = valuesQuery.Execute();
                var ov = values.NextValues();
                max = (Decimal) ov.GetByAlias("max of int1");
                avg = (Decimal) ov.GetByAlias("avg of int1");
                bsum = (Decimal) ov.GetByAlias("sum of int1");

                Println(max);
                Println(avg);
                Println(bsum);
            }
            AssertEquals(new Decimal(sum), bsum);
            AssertEquals(new Decimal(size - 1), max);
            AssertEquals(bsum / size, avg);
        }
コード例 #11
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test7()
        {
            DeleteBase("valuesA7");

            using (var odb = Open("valuesA7"))
            {
                const int size = 1000;
                for (var i = 0; i < size; i++)
                {
                    var tc1 = new TestClass();
                    tc1.SetInt1(i);
                    odb.Store(tc1);
                }
            }

            decimal nb;
            using (var odb = Open("valuesA7"))
            {
                var query = odb.Query<TestClass>();
                query.Descend("int1").Constrain(2).Equal();
                nb = query.Count();
                Println(nb);
            }

            AssertEquals(1, nb);
        }
コード例 #12
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test6()
        {
            DeleteBase("valuesA6");

            using (var odb = Open("valuesA6"))
            {
                const int size = 1000;
                for (var i = 0; i < size; i++)
                {
                    var tc1 = new TestClass();
                    tc1.SetInt1(i);
                    odb.Store(tc1);
                }
            }

            IValues values;
            IObjectValues ov;
            using (var odb = Open("valuesA6"))
            {
                var valuesCriteriaQuery = odb.ValuesQuery<TestClass>();
                valuesCriteriaQuery.Descend("int1").Constrain(2).Equal();

                var valuesQuery = valuesCriteriaQuery.Count("nb objects");
                values = valuesQuery.Execute();
                Println(values);
                ov = values.NextValues();
            }

            AssertEquals(1, ov.GetByAlias("nb objects"));
            AssertEquals(1, values.Count);
        }
コード例 #13
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test5()
        {
            DeleteBase("valuesA5");
            const int size = 1000;

            using (var odb = Open("valuesA5"))
            {
                for (var i = 0; i < size; i++)
                {
                    var tc1 = new TestClass();
                    tc1.SetInt1(45);
                    odb.Store(tc1);
                }
            }

            IValues values;
            IObjectValues ov;
            using (var odb = Open("valuesA5"))
            {
                var valuesQuery = odb.ValuesQuery<TestClass>().Count("nb objects");
                values = valuesQuery.Execute();
                Println(values);
                ov = values.NextValues();
            }
            AssertEquals(size, ov.GetByAlias("nb objects"));
            AssertEquals(1, values.Count);
        }
コード例 #14
0
ファイル: TestGetValues.cs プロジェクト: danfma/NDB
        public void Test4()
        {
            DeleteBase("valuesA4");

            using (var odb = Open("valuesA4"))
            {
                var tc1 = new TestClass();
                tc1.SetInt1(45);
                odb.Store(tc1);

                var tc2 = new TestClass();
                tc2.SetInt1(5);
                odb.Store(tc2);
            }

            IValues values;
            IObjectValues ov;
            using (var odb = Open("valuesA4"))
            {
                var valuesQuery = odb.ValuesQuery<TestClass>().Sum("int1", "sum of int1").Count("nb objects");
                values = valuesQuery.Execute();
                Println(values);
                ov = values.NextValues();
            }

            AssertEquals(50, ov.GetByAlias("sum of int1"));
            AssertEquals(2, ov.GetByAlias("nb objects"));
            AssertEquals(1, values.Count);
        }