Beispiel #1
0
        public virtual void TestArrayUpdateDecreasingArraySize()
        {
            var size = 50;

            DeleteBase("array11.ndb");

            var array  = new Decimal[size];
            var array2 = new Decimal[size + 1];

            for (var i = 0; i < size; i++)
            {
                array[i]  = new Decimal(((double)i) * 78954545 / 89);
                array2[i] = new Decimal(((double)i) * 78954545 / 89);
            }
            array[size - 1] = new Decimal(99);
            array2[size]    = new Decimal(100);
            var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array2);

            using (var odb = Open("array11.ndb"))
            {
                odb.Store(owna);
            }

            IObjectSet <ObjectWithNativeArrayOfBigDecimal> l;
            ObjectWithNativeArrayOfBigDecimal owna2;

            using (var odb = Open("array11.ndb"))
            {
                var query = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                l     = query.Execute <ObjectWithNativeArrayOfBigDecimal>();
                owna2 = l.GetFirst();
                owna2.SetNumbers(array);
                odb.Store(owna2);
            }

            using (var odb = Open("array11.ndb"))
            {
                var query = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                l = query.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var o = l.GetFirst();
                AssertEquals(size, o.GetNumbers().Length);
                AssertEquals(new Decimal(99), o.GetNumber(size - 1));
                AssertEquals(owna2.GetNumber(1), o.GetNumber(1));
            }

            DeleteBase("array11.ndb");
        }
Beispiel #2
0
        public virtual void TestArray6UpdateIncreasingArraySize()
        {
            IOdb odb  = null;
            var  size = 50;

            try
            {
                DeleteBase("array10.ndb");
                odb = Open("array10.ndb");
                var array  = new Decimal[size];
                var array2 = new Decimal[size + 1];
                for (var i = 0; i < size; i++)
                {
                    array[i]  = new Decimal(((double)i) * 78954545 / 89);
                    array2[i] = new Decimal(((double)i) * 78954545 / 89);
                }
                array2[size] = new Decimal(100);
                var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
                odb.Store(owna);
                odb.Close();
                odb = Open("array10.ndb");
                var query = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                var l     = query.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var owna2 = l.GetFirst();
                owna2.SetNumbers(array2);
                odb.Store <ObjectWithNativeArrayOfBigDecimal>(owna2);
                odb.Close();
                odb = Open("array10.ndb");
                var query1 = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                l = query1.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var o = l.GetFirst();
                AssertEquals(size + 1, (int)o.GetNumbers().Length);
                AssertEquals(new Decimal(100), o.GetNumber(size));
                AssertEquals((object)owna2.GetNumber(1), (object)o.GetNumber(1));
                odb.Close();
                DeleteBase("array10.ndb");
            }
            catch (Exception)
            {
                if (odb != null)
                {
                    odb.Rollback();
                }
                throw;
            }
        }
Beispiel #3
0
        public virtual void TestArray5()
        {
            IOdb odb  = null;
            var  size = 50;

            try
            {
                DeleteBase("array7.ndb");
                odb = Open("array7.ndb");
                var array = new Decimal[size];
                for (var i = 0; i < size; i++)
                {
                    array[i] = new Decimal(((double)i) * 78954545 / 89);
                }
                var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
                odb.Store(owna);
                odb.Close();
                odb = Open("array7.ndb");
                var query = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                var l     = query.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var owna2 = l.GetFirst();
                owna2.SetNumber(0, new Decimal(1));
                odb.Store <ObjectWithNativeArrayOfBigDecimal>(owna2);
                odb.Close();
                odb = Open("array7.ndb");
                var query1 = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                l = query1.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var o = l.GetFirst();
                AssertEquals((object)owna2.GetNumber(0), (object)o.GetNumber(0));
                AssertEquals((object)owna2.GetNumber(1), (object)o.GetNumber(1));

                odb.Close();
                DeleteBase("array7.ndb");
            }
            catch (Exception)
            {
                if (odb != null)
                {
                    odb.Rollback();
                }
                throw;
            }
        }
Beispiel #4
0
        public virtual void TestArray4()
        {
            DeleteBase("array5.ndb");
            IOdb odb  = null;
            var  size = 50;

            try
            {
                odb = Open("array5.ndb");
                var array = new Decimal[size];
                for (var i = 0; i < size; i++)
                {
                    array[i] = new Decimal(((double)i) * 78954545 / 89);
                }
                var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
                odb.Store(owna);
                odb.Close();
                odb = Open("array5.ndb");
                var query = odb.Query <ObjectWithNativeArrayOfBigDecimal>();
                var l     = query.Execute <ObjectWithNativeArrayOfBigDecimal>();
                var owna2 = l.GetFirst();
                AssertEquals(owna.GetName(), (string)owna2.GetName());
                for (var i = 0; i < size; i++)
                {
                    AssertEquals(owna.GetNumbers()[i], owna2.GetNumbers()[i]);
                }
                odb.Close();
                odb = null;
                DeleteBase("array5.ndb");
            }
            catch (Exception)
            {
                if (odb != null)
                {
                    odb.Rollback();
                    odb = null;
                }
                throw;
            }
        }
Beispiel #5
0
        public virtual void TestArrayUpdateDecreasingArraySize()
        {
            var size = 50;

            DeleteBase("array11.ndb");

            var array = new Decimal[size];
            var array2 = new Decimal[size + 1];
            for (var i = 0; i < size; i++)
            {
                array[i] = new Decimal(((double) i) * 78954545 / 89);
                array2[i] = new Decimal(((double) i) * 78954545 / 89);
            }
            array[size - 1] = new Decimal(99);
            array2[size] = new Decimal(100);
            var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array2);

            using (var odb = Open("array11.ndb"))
            {
                odb.Store(owna);
            }

            IObjectSet<ObjectWithNativeArrayOfBigDecimal> l;
            ObjectWithNativeArrayOfBigDecimal owna2;
            using (var odb = Open("array11.ndb"))
            {
                var query = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
                l = query.Execute<ObjectWithNativeArrayOfBigDecimal>();
                owna2 = l.GetFirst();
                owna2.SetNumbers(array);
                odb.Store(owna2);
            }

            using (var odb = Open("array11.ndb"))
            {
                var query = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
                l = query.Execute<ObjectWithNativeArrayOfBigDecimal>();
                var o = l.GetFirst();
                AssertEquals(size, o.GetNumbers().Length);
                AssertEquals(new Decimal(99), o.GetNumber(size - 1));
                AssertEquals(owna2.GetNumber(1), o.GetNumber(1));
            }

            DeleteBase("array11.ndb");
        }
Beispiel #6
0
 public virtual void TestArray6UpdateIncreasingArraySize()
 {
     IOdb odb = null;
     var size = 50;
     try
     {
         DeleteBase("array10.ndb");
         odb = Open("array10.ndb");
         var array = new Decimal[size];
         var array2 = new Decimal[size + 1];
         for (var i = 0; i < size; i++)
         {
             array[i] = new Decimal(((double) i) * 78954545 / 89);
             array2[i] = new Decimal(((double) i) * 78954545 / 89);
         }
         array2[size] = new Decimal(100);
         var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
         odb.Store(owna);
         odb.Close();
         odb = Open("array10.ndb");
         var query = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
         var l = query.Execute<ObjectWithNativeArrayOfBigDecimal>();
         var owna2 = l.GetFirst();
         owna2.SetNumbers(array2);
         odb.Store<ObjectWithNativeArrayOfBigDecimal>(owna2);
         odb.Close();
         odb = Open("array10.ndb");
         var query1 = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
         l = query1.Execute<ObjectWithNativeArrayOfBigDecimal>();
         var o = l.GetFirst();
         AssertEquals(size + 1, (int) o.GetNumbers().Length);
         AssertEquals(new Decimal(100), o.GetNumber(size));
         AssertEquals((object) owna2.GetNumber(1), (object) o.GetNumber(1));
         odb.Close();
         DeleteBase("array10.ndb");
     }
     catch (Exception)
     {
         if (odb != null)
             odb.Rollback();
         throw;
     }
 }
Beispiel #7
0
        public virtual void TestArray5()
        {
            IOdb odb = null;
            var size = 50;
            try
            {
                DeleteBase("array7.ndb");
                odb = Open("array7.ndb");
                var array = new Decimal[size];
                for (var i = 0; i < size; i++)
                    array[i] = new Decimal(((double) i) * 78954545 / 89);
                var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
                odb.Store(owna);
                odb.Close();
                odb = Open("array7.ndb");
                var query = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
                var l = query.Execute<ObjectWithNativeArrayOfBigDecimal>();
                var owna2 = l.GetFirst();
                owna2.SetNumber(0, new Decimal(1));
                odb.Store<ObjectWithNativeArrayOfBigDecimal>(owna2);
                odb.Close();
                odb = Open("array7.ndb");
                var query1 = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
                l = query1.Execute<ObjectWithNativeArrayOfBigDecimal>();
                var o = l.GetFirst();
                AssertEquals((object) owna2.GetNumber(0), (object) o.GetNumber(0));
                AssertEquals((object) owna2.GetNumber(1), (object) o.GetNumber(1));

                odb.Close();
                DeleteBase("array7.ndb");
            }
            catch (Exception)
            {
                if (odb != null)
                    odb.Rollback();
                throw;
            }
        }
Beispiel #8
0
 public virtual void TestArray4()
 {
     DeleteBase("array5.ndb");
     IOdb odb = null;
     var size = 50;
     try
     {
         odb = Open("array5.ndb");
         var array = new Decimal[size];
         for (var i = 0; i < size; i++)
             array[i] = new Decimal(((double) i) * 78954545 / 89);
         var owna = new ObjectWithNativeArrayOfBigDecimal("t1", array);
         odb.Store(owna);
         odb.Close();
         odb = Open("array5.ndb");
         var query = odb.Query<ObjectWithNativeArrayOfBigDecimal>();
         var l = query.Execute<ObjectWithNativeArrayOfBigDecimal>();
         var owna2 = l.GetFirst();
         AssertEquals(owna.GetName(), (string) owna2.GetName());
         for (var i = 0; i < size; i++)
             AssertEquals(owna.GetNumbers()[i], owna2.GetNumbers()[i]);
         odb.Close();
         odb = null;
         DeleteBase("array5.ndb");
     }
     catch (Exception)
     {
         if (odb != null)
         {
             odb.Rollback();
             odb = null;
         }
         throw;
     }
 }