Example #1
1
 public virtual void Test2()
 {
     DeleteBase("t2.ndb");
     var odb = Open("t2.ndb");
     var query8 = odb.Query<User>();
     var nbUsers = query8.Execute<User>().Count;
     var query = odb.Query<Profile>();
     var nbProfiles = query.Execute<Profile>(true).Count;
     var query1 = odb.Query<VO.Login.Function>();
     var nbFunctions = query1.Execute<VO.Login.Function>(true).Count;
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     IList<VO.Login.Function> list = new List<VO.Login.Function>();
     list.Add(login);
     list.Add(logout);
     var profile = new Profile("operator", list);
     var olivier = new User("olivier smadja", "*****@*****.**", profile);
     var aisa = new User("Aísa Galvão Smadja", "*****@*****.**", profile);
     odb.Store(olivier);
     odb.Store(aisa);
     odb.Commit();
     var query2 = odb.Query<User>();
     var users = query2.Execute<User>(true);
     var query3 = odb.Query<Profile>();
     var profiles = query3.Execute<Profile>(true);
     var query4 = odb.Query<VO.Login.Function>();
     var functions = query4.Execute<VO.Login.Function>(true);
     odb.Close();
     // println("Users:"+users);
     Println("Profiles:" + profiles);
     Println("Functions:" + functions);
     odb = Open("t2.ndb");
     var query5 = odb.Query<User>();
     var l = query5.Execute<User>(true);
     odb.Close();
     AssertEquals(nbUsers + 2, users.Count);
     var user2 = users.GetFirst();
     AssertEquals(olivier.ToString(), user2.ToString());
     AssertEquals(nbProfiles + 1, profiles.Count);
     AssertEquals(nbFunctions + 2, functions.Count);
     var odb2 = Open("t2.ndb");
     var query6 = odb2.Query<VO.Login.Function>();
     var l2 = query6.Execute<VO.Login.Function>(true);
     var function = l2.GetFirst();
     function.SetName("login function");
     odb2.Store(function);
     odb2.Close();
     var odb3 = Open("t2.ndb");
     var query7 = odb3.Query<User>();
     var l3 = query7.Execute<User>(true);
     var i = 0;
     while (l3.HasNext() && i < Math.Min(2, l3.Count))
     {
         var user = l3.Next();
         AssertEquals("login function", string.Empty + user.GetProfile().GetFunctions()[0]);
         i++;
     }
     odb3.Close();
     DeleteBase("t2.ndb");
 }
Example #2
0
 public virtual void Test1()
 {
     var baseName = GetBaseName();
     var odb = Open(baseName);
     decimal n = odb.Query<VO.Login.Function>().Count();
     var function1 = new VO.Login.Function("function1");
     var function2 = new VO.Login.Function("function2");
     var function3 = new VO.Login.Function("function3");
     odb.Store(function1);
     odb.Store(function2);
     odb.Store(function3);
     odb.Close();
     odb = Open(baseName);
     var query = odb.Query<VO.Login.Function>();
     query.Descend("name").Constrain((object) "function2").Equal();
     var l = query.Execute<VO.Login.Function>();
     var function = l.GetFirst();
     odb.Delete(function);
     odb.Close();
     odb = Open(baseName);
     var query1 = odb.Query<VO.Login.Function>();
     var l2 = query1.Execute<VO.Login.Function>(true);
     AssertEquals(n + 2, odb.Query<VO.Login.Function>().Count());
     odb.Close();
     DeleteBase(baseName);
 }
Example #3
0
        public virtual void Test1()
        {
            var     baseName  = GetBaseName();
            var     odb       = Open(baseName);
            decimal n         = odb.Query <VO.Login.Function>().Count();
            var     function1 = new VO.Login.Function("function1");
            var     function2 = new VO.Login.Function("function2");
            var     function3 = new VO.Login.Function("function3");

            odb.Store(function1);
            odb.Store(function2);
            odb.Store(function3);
            odb.Close();
            odb = Open(baseName);
            var query = odb.Query <VO.Login.Function>();

            query.Descend("name").Constrain((object)"function2").Equal();
            var l        = query.Execute <VO.Login.Function>();
            var function = l.GetFirst();

            odb.Delete(function);
            odb.Close();
            odb = Open(baseName);
            var query1 = odb.Query <VO.Login.Function>();
            var l2     = query1.Execute <VO.Login.Function>(true);

            AssertEquals(n + 2, odb.Query <VO.Login.Function>().Count());
            odb.Close();
            DeleteBase(baseName);
        }
Example #4
0
        public virtual void Test6()
        {
            DeleteBase("t1u.ndb");
            var odb    = Open("t1u.ndb");
            var login  = new VO.Login.Function("login");
            var logout = new VO.Login.Function("logout");

            odb.Store(login);
            odb.Store(logout);
            odb.Close();
            odb = Open("t1u.ndb");
            var login2  = new VO.Login.Function("login2");
            var logout2 = new VO.Login.Function("logout2");

            odb.Store(login2);
            odb.Store(logout2);
            // select without committing
            var query1 = odb.Query <VO.Login.Function>();
            var l      = query1.Execute <VO.Login.Function>(true);

            AssertEquals(4, l.Count);
            // println(l);
            odb.Close();
            odb = Open("t1u.ndb");
            var query = odb.Query <VO.Login.Function>();

            l = query.Execute <VO.Login.Function>(true);
            AssertEquals(4, l.Count);
            // println(l);
            odb.Close();
        }
        public virtual void TestCriteriaQueryQueryWithValueInList2_with_null_object()
        {
            var baseName = GetBaseName();

            Init(baseName);
            var odb = Open(baseName);
            var p0  = new Profile("profile0");

            p0.AddFunction(new VO.Login.Function("f1"));
            p0.AddFunction(new VO.Login.Function("f2"));
            p0.AddFunction(new VO.Login.Function("f12"));
            p0.AddFunction(new VO.Login.Function("f22"));

            var p1 = new Profile("profile1");

            var user  = new User("The user", "themail", p0);
            var user2 = new User("The user2", "themail2", p1);

            odb.Store(user);
            odb.Store(user2);
            odb.Close();
            odb = Open(baseName);
            var f2bis = new VO.Login.Function("f2");
            var query = odb.Query <Profile>();

            query.Descend("functions").Constrain(null).Contains();
            var l = query.Execute <Profile>();

            //One from test, one from init
            AssertEquals(2, l.Count());
            p1 = l.First(x => x.GetName().Equals("profile1"));
            AssertEquals("profile1", p1.GetName());
            odb.Close();
        }
Example #6
0
        public virtual void TestSimple()
        {
            DeleteBase("t2.ndb");
            var odb         = Open("t2.ndb");
            var query       = odb.Query <VO.Login.Function>();
            var nbFunctions = query.Execute <VO.Login.Function>(true).Count;
            var login       = new VO.Login.Function("login");
            var logout      = new VO.Login.Function("logout");

            odb.Store(login);
            odb.Store(logout);
            odb.Close();
            odb = Open("t2.ndb");
            var query1    = odb.Query <VO.Login.Function>();
            var functions = query1.Execute <VO.Login.Function>(true);
            var f1        = functions.GetFirst();

            f1.SetName("login1");
            odb.Store(f1);
            odb.Close();
            odb = Open("t2.ndb");
            var query2 = odb.Query <VO.Login.Function>();

            functions = query2.Execute <VO.Login.Function>(true);
            odb.Close();
            AssertEquals(2, functions.Count);
            AssertEquals("login1", (functions.GetFirst()).GetName());
            DeleteBase("t2.ndb");
        }
Example #7
0
        public virtual void Test1()
        {
            DeleteBase("t1.ndb");
            // LogUtil.allOn(true);
            var odb = Open("t1.ndb");
            // LogUtil.objectWriterOn(true);
            var login = new VO.Login.Function("login");
            IList <VO.Login.Function> list = new List <VO.Login.Function>();

            list.Add(login);
            var profile1 = new Profile("operator 1", list);
            var user     = new User("olivier smadja", "*****@*****.**", profile1);

            odb.Store(user);
            odb.Close();
            odb = Open("t1.ndb");
            var query = odb.Query <User>();
            var users = query.Execute <User>(true);
            // assertEquals(nbUsers+2,users.size());
            var user2 = users.GetFirst();

            odb.Close();
            AssertEquals(user.ToString(), user2.ToString());
            DeleteBase("t1.ndb");
        }
Example #8
0
 public virtual void Test1()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     IDictionary loadedObjects = new Dictionary<object, object>();
     IDictionary modifiedObjects = new Dictionary<object, object>();
     VO.Login.Function f = null;
     OID oid = null;
     for (var i = 0; i < size; i++)
     {
         f = new VO.Login.Function("function " + i);
         oid = OIDFactory.BuildObjectOID(i);
         loadedObjects.Add(oid, f);
         if (i < size / 2)
             modifiedObjects.Add(oid, f);
     }
     var j = 0;
     var nbModified = 0;
     // Now get all modified objects
     var iterator = modifiedObjects.Keys.GetEnumerator();
     while (iterator.MoveNext())
     {
         oid = (OID) iterator.Current;
         var o = modifiedObjects[oid];
         j++;
         nbModified++;
     }
     stopWatch.End();
     Println("time for 2 maps =" + stopWatch.GetDurationInMiliseconds());
     AssertEquals(size / 2, nbModified);
 }
Example #9
0
        public virtual void TestComplexInstance()
        {
            DeleteBase("t-complex-instance.ndb");
            var odb       = Open("t-complex-instance.ndb");
            var login     = new VO.Login.Function("login");
            var logout    = new VO.Login.Function("logout");
            var functions = new List <VO.Login.Function>();

            functions.Add(login);
            functions.Add(logout);
            var profile = new Profile("profile1", functions);
            var user    = new User("oliver", "*****@*****.**", profile);
            var user22  = new User("oliver2", "*****@*****.**", profile);

            odb.Store(user);
            odb.Store(user22);
            odb.Close();
            odb = Open("t-complex-instance.ndb");
            var query = odb.Query <User>();
            var l     = query.Execute <User>(true);
            var user2 = l.GetFirst();

            // println("#### " + l.size() + " : " + l);
            AssertEquals(user.GetName(), user2.GetName());
            AssertEquals(user.GetEmail(), user2.GetEmail());
            AssertEquals(user.GetProfile().GetName(), user2.GetProfile().GetName());
            AssertEquals(user.GetProfile().GetFunctions()[0].ToString(), user2.GetProfile().GetFunctions()[0].ToString());
            odb.Close();
            DeleteBase("t-complex-instance.ndb");
        }
Example #10
0
 public virtual void Test10()
 {
     var baseName = GetBaseName();
     IOdb odb = null;
     odb = Open(baseName);
     var query = odb.Query<VO.Login.Function>();
     long size = query.Execute<VO.Login.Function>().Count;
     var f1 = new VO.Login.Function("function1");
     odb.Store(f1);
     odb.Close();
     odb = Open(baseName);
     var query1 = odb.Query<VO.Login.Function>();
     var f1bis = query1.Execute<VO.Login.Function>().GetFirst();
     odb.Delete(f1bis);
     odb.Close();
     odb = Open(baseName);
     var query3 = odb.Query<VO.Login.Function>();
     AssertEquals(size, query3.Execute<VO.Login.Function>().Count);
     odb.Store(new VO.Login.Function("last function"));
     odb.Close();
     odb = Open(baseName);
     var query2 = odb.Query<VO.Login.Function>();
     var l = query2.Execute<VO.Login.Function>();
     odb.Close();
     AssertEquals(size + 1, l.Count);
 }
Example #11
0
 public virtual void Test2()
 {
     IOdb odb = null;
     DeleteBase("trigger.ndb");
     var myTrigger = new MyTrigger();
     try
     {
         odb = Open("trigger.ndb");
         odb.TriggerManagerFor<VO.Login.Function>().AddInsertTrigger(myTrigger);
         var f1 = new VO.Login.Function("function1");
         var f2 = new VO.Login.Function("function2");
         var profile = new Profile("profile1", f1);
         var user = new User("oli", "*****@*****.**", profile);
         odb.Store(user);
         odb.Store(f2);
     }
     finally
     {
         if (odb != null)
             odb.Close();
     }
     odb = Open("trigger.ndb");
     odb.Close();
     DeleteBase("trigger.ndb");
     AssertEquals(2, myTrigger.nbInsertsBefore);
     AssertEquals(2, myTrigger.nbInsertsAfter);
 }
Example #12
0
        public virtual void Test5()
        {
            DeleteBase("getid.ndb");
            var function1 = new VO.Login.Function("f1");
            var function2 = new VO.Login.Function("f2");
            var odb       = Open("getid.ndb");

            odb.Store(function1);
            odb.Store(function2);
            var id1 = odb.GetObjectId(function1);
            var id2 = odb.GetObjectId(function2);

            odb.Close();
            odb = Open("getid.ndb");
            var t1           = OdbTime.GetCurrentTimeInMs();
            var function1bis = (VO.Login.Function)odb.GetObjectFromId(id1);
            var function2bis = (VO.Login.Function)odb.GetObjectFromId(id2);
            var t2           = OdbTime.GetCurrentTimeInMs();

            odb.Close();
            DeleteBase("getid.ndb");
            AssertEquals(function1.GetName(), function1bis.GetName());
            AssertEquals(function2.GetName(), function2bis.GetName());
            var time = t2 - t1;

            Println(time);
            long acceptableTime = 1;

            if (time > acceptableTime)
            {
                // ms
                Fail("Getting two objects by oid lasted more than " + acceptableTime + "ms : " + time);
            }
        }
Example #13
0
        public void TestCopy()
        {
            const string dbName = "introspectortest2.odb";

            DeleteBase(dbName);
            var odb = OdbFactory.Open(dbName);

            var function = new VO.Login.Function("login");
            var profile  = new Profile("operator", function);
            var user     = new User("olivier smadja", "*****@*****.**", profile);

            var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine();

            var instanceInfo =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                                                   new InstrumentationCallbackForStore(null,
                                                                                                                                       false));
            var copy = (NonNativeObjectInfo)instanceInfo.CreateCopy(new OdbHashMap <OID, AbstractObjectInfo>(), true);

            AssertEquals(3, copy.GetAttributeValues().Length);
            var aois = copy.GetAttributeValues();

            for (var i = 0; i < aois.Length; i++)
            {
                var aoi = aois[i];
                AssertEquals(instanceInfo.GetAttributeValues()[i].GetOdbTypeId(), aoi.GetOdbTypeId());
            }

            odb.Close();
        }
Example #14
0
        public virtual void Test1()
        {
            DeleteBase("getid.ndb");
            var function1 = new VO.Login.Function("f1");
            var function2 = new VO.Login.Function("f2");
            var odb       = Open("getid.ndb");

            odb.Store(function1);
            odb.Store(function2);
            var id1 = odb.GetObjectId(function1);
            var id2 = odb.GetObjectId(function2);

            odb.Close();
            odb = Open("getid.ndb");
            var function1bis = (VO.Login.Function)odb.GetObjectFromId(id1);

            AssertEquals(function1.GetName(), function1bis.GetName());
            var function2bis = (VO.Login.Function)odb.GetObjectFromId(id2);

            function2bis.SetName("function 2");
            odb.Store(function2bis);
            var id2bis = odb.GetObjectId(function2bis);

            odb.Close();
            odb = Open("getid.ndb");
            var function2ter = (VO.Login.Function)odb.GetObjectFromId(id2);

            AssertEquals("function 2", function2ter.GetName());
            odb.Close();
            DeleteBase("getid.ndb");
        }
Example #15
0
        public void TestCompareCollection6()
        {
            const string dbName = "introspectortest6.odb";

            DeleteBase(dbName);
            var odb = OdbFactory.Open(dbName);

            var function = new VO.Login.Function("login");
            var profile  = new Profile("operator", function);
            var user     = new User("olivier smadja", "*****@*****.**", profile);
            IObjectInfoComparator comparator = new ObjectInfoComparator();
            var ci = ClassIntrospector.Introspect(user.GetType(), true).GetMainClassInfo();

            var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine();

            var instanceInfo =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                                                   new InstrumentationCallbackForStore(null,
                                                                                                                                       false));
            // Sets attributes offsets - this is normally done by reading then from
            // disk, but in this junit,
            // we must set them manually
            var offsets = new[] { 1L, 2L, 3L };
            var ids     = new[] { 1, 2, 3 };

            instanceInfo.GetHeader().SetAttributesIdentification(offsets);
            instanceInfo.GetHeader().SetAttributesIds(ids);
            instanceInfo.GetHeader().SetOid(OIDFactory.BuildObjectOID(1));
            var nnoiProfile = (NonNativeObjectInfo)instanceInfo.GetAttributeValueFromId(3);

            nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2));

            var nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1);

            nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3));

            var nnoi = (NonNativeObjectInfo)instanceInfo.GetAttributeValueFromId(ci.GetAttributeId("profile"));

            nnoi.GetHeader().SetAttributesIdentification(offsets);
            nnoi.GetHeader().SetAttributesIds(ids);
            profile.SetName("ope");
            var instanceInfo3 =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                                                   new InstrumentationCallbackForStore(null,
                                                                                                                                       false));

            instanceInfo3.GetHeader().SetOid(OIDFactory.BuildObjectOID(1));
            nnoiProfile = (NonNativeObjectInfo)instanceInfo3.GetAttributeValueFromId(3);
            nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2));

            nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1);
            nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3));

            AssertTrue(comparator.HasChanged(instanceInfo, instanceInfo3));
            AssertEquals(1, comparator.GetNbChanges());

            odb.Close();
        }
Example #16
0
 public virtual void Test6()
 {
     DeleteBase("t1u.ndb");
     var odb = Open("t1u.ndb");
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     odb.Store(login);
     odb.Store(logout);
     odb.Close();
     odb = Open("t1u.ndb");
     var login2 = new VO.Login.Function("login2");
     var logout2 = new VO.Login.Function("logout2");
     odb.Store(login2);
     odb.Store(logout2);
     // select without committing
     var query1 = odb.Query<VO.Login.Function>();
     var l = query1.Execute<VO.Login.Function>(true);
     AssertEquals(4, l.Count);
     // println(l);
     odb.Close();
     odb = Open("t1u.ndb");
     var query = odb.Query<VO.Login.Function>();
     l = query.Execute<VO.Login.Function>(true);
     AssertEquals(4, l.Count);
     // println(l);
     odb.Close();
 }
Example #17
0
        public virtual void TestUpdateObjectReference4()
        {
            DeleteBase(FileName);
            var odb      = Open(FileName);
            var function = new VO.Login.Function("login");
            var user     = new User("olivier smadja", "*****@*****.**", null);

            odb.Store(user);
            odb.Close();
            var profile2 = new Profile("new operator", function);

            odb = Open(FileName);
            odb.Store(profile2);
            var query = odb.Query <User>();
            var user2 = query.Execute <User>().GetFirst();

            user2.SetProfile(profile2);
            odb.Store(user2);
            odb.Close();
            odb = Open(FileName);
            var query1 = odb.Query <User>();

            user2 = query1.Execute <User>().GetFirst();
            AssertEquals("new operator", user2.GetProfile().GetName());
            var query2 = odb.Query <Profile>();

            AssertEquals(1, query2.Execute <Profile>().Count);
            odb.Close();
        }
Example #18
0
        public virtual void Test7()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");
            var f2 = new VO.Login.Function("function2");
            var f3 = new VO.Login.Function("function3");

            odb.Store(f1);
            odb.Store(f2);
            odb.Store(f3);
            var id = odb.GetObjectId(f3);

            odb.Close();
            try
            {
                odb = Open(baseName);
                var f3bis = (VO.Login.Function)odb.GetObjectFromId(id);
                odb.Delete(f3bis);
                odb.Close();
                odb = Open(baseName);
                var query = odb.Query <VO.Login.Function>();
                var l     = query.Execute <VO.Login.Function>();
                odb.Close();
                AssertEquals(2, l.Count);
            }
            catch (OdbRuntimeException)
            {
                odb.Close();
                DeleteBase(baseName);
            }
        }
Example #19
0
        public virtual void Test15()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");
            var f2 = new VO.Login.Function("function2");

            odb.Store(f1);
            odb.Store(f2);
            AssertEquals(2, odb.Query <VO.Login.Function>().Count());
            odb.Delete(f1);
            odb.Delete(f2);
            AssertEquals(0, odb.Query <VO.Login.Function>().Count());
            odb.Store(f1);
            odb.Store(f2);
            AssertEquals(2, odb.Query <VO.Login.Function>().Count());
            odb.Close();
            odb = Open(baseName);
            var query = odb.Query <VO.Login.Function>();

            AssertEquals(2, query.Execute <VO.Login.Function>().Count);
            odb.Close();
            DeleteBase(baseName);
        }
Example #20
0
 public void Test1()
 {
     var odb = Open("big-data.ndb");
     var buffer = new StringBuilder();
     for (var i = 0; i < 30000; i++)
         buffer.Append('a');
     var function = new VO.Login.Function(buffer.ToString());
     odb.Store(function);
     odb.Close();
     odb = Open("big-data.ndb");
     var query1 = odb.Query<VO.Login.Function>();
     var f2 = query1.Execute<VO.Login.Function>().GetFirst();
     AssertEquals(30000, f2.GetName().Length);
     odb.Close();
     odb = Open("big-data.ndb");
     var query = odb.Query<VO.Login.Function>();
     f2 = query.Execute<VO.Login.Function>().GetFirst();
     f2.SetName(f2.GetName() + "ola chico");
     var newSize = f2.GetName().Length;
     odb.Store(f2);
     odb.Close();
     odb = Open("big-data.ndb");
     var query2 = odb.Query<VO.Login.Function>();
     f2 = query2.Execute<VO.Login.Function>().GetFirst();
     AssertEquals(newSize, f2.GetName().Length);
     AssertEquals(buffer + "ola chico", f2.GetName());
     odb.Close();
 }
        public virtual void Test1()
        {
            DeleteBase("t1u.ndb");
            var odb    = Open("t1u.ndb");
            var login  = new VO.Login.Function("login");
            var logout = new VO.Login.Function("logout");

            odb.Store(login);
            Println("--------");
            odb.Store(login);
            odb.Store(logout);
            // odb.commit();
            odb.Close();
            odb = Open("t1u.ndb");
            var query = odb.Query <VO.Login.Function>();
            var l     = query.Execute <VO.Login.Function>(true);
            var f2    = l.GetFirst();

            f2.SetName("login function");
            odb.Store(f2);
            odb.Close();
            var odb2   = Open("t1u.ndb");
            var query1 = odb2.Query <VO.Login.Function>();
            var f      = query1.Execute <VO.Login.Function>().GetFirst();

            AssertEquals("login function", f.GetName());
            odb2.Close();
            DeleteBase("t1u.ndb");
        }
        public virtual void Test6()
        {
            // LogUtil.objectWriterOn(true);
            DeleteBase("t6.ndb");
            var odb    = Open("t6.ndb");
            var login  = new VO.Login.Function("login");
            var logout = new VO.Login.Function("logout");
            var list   = new List <VO.Login.Function>();

            list.Add(login);
            list.Add(logout);
            var profile = new Profile("operator", list);
            var olivier = new User("olivier smadja", "*****@*****.**", profile);

            odb.Store(olivier);
            odb.Close();
            Println("----------");
            odb = Open("t6.ndb");
            var query = odb.Query <User>();
            var users = query.Execute <User>(true);
            var u1    = users.GetFirst();

            u1.GetProfile().SetName("operator 234567891011121314");
            odb.Store(u1);
            odb.Close();
            odb = Open("t6.ndb");
            var query1   = odb.Query <Profile>();
            var profiles = query1.Execute <Profile>(true);

            AssertEquals(1, profiles.Count);
            var p1 = profiles.GetFirst();

            AssertEquals(u1.GetProfile().GetName(), p1.GetName());
        }
        public virtual void Test5()
        {
            DeleteBase("t5.ndb");
            var odb         = Open("t5.ndb");
            var nbFunctions = odb.Query <VO.Login.Function>().Count();
            var nbProfiles  = odb.Query <Profile>().Count();
            var nbUsers     = odb.Query <User>().Count();
            var login       = new VO.Login.Function("login");
            var logout      = new VO.Login.Function("logout");
            var list        = new List <VO.Login.Function>();

            list.Add(login);
            list.Add(logout);
            var profile = new Profile("operator", list);
            var olivier = new User("olivier smadja", "*****@*****.**", profile);
            var aisa    = new User("Aísa Galvão Smadja", "*****@*****.**", profile);

            odb.Store(olivier);
            odb.Store(profile);
            odb.Commit();
            odb.Close();
            odb = Open("t5.ndb");
            var query     = odb.Query <User>();
            var users     = query.Execute <User>(true);
            var query1    = odb.Query <Profile>();
            var profiles  = query1.Execute <Profile>(true);
            var query2    = odb.Query <VO.Login.Function>();
            var functions = query2.Execute <VO.Login.Function>(true);

            odb.Close();
            AssertEquals(nbUsers + 1, users.Count);
            AssertEquals(nbProfiles + 1, profiles.Count);
            AssertEquals(nbFunctions + 2, functions.Count);
        }
        public virtual void Test3()
        {
            DeleteBase("t1u2.ndb");
            var odb   = Open("t1u2.ndb");
            var login = new VO.Login.Function(null);

            odb.Store(login);
            odb.Close();
            odb = Open("t1u2.ndb");
            var query = odb.Query <VO.Login.Function>();

            query.Descend("name").Constrain(null).Equal();
            login = query.Execute <VO.Login.Function>().GetFirst();
            AssertTrue(login.GetName() == null);
            login.SetName("login");
            odb.Store(login);
            odb.Close();
            odb = Open("t1u2.ndb");
            var query1 = odb.Query <VO.Login.Function>();

            login = query1.Execute <VO.Login.Function>().GetFirst();
            AssertTrue(login.GetName().Equals("login"));
            odb.Close();
            DeleteBase("t1u2.ndb");
        }
Example #25
0
        public virtual void Test9()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");
            var f2 = new VO.Login.Function("function2");
            var f3 = new VO.Login.Function("function3");

            odb.Store(f1);
            odb.Store(f2);
            odb.Store(f3);
            var id = odb.GetObjectId(f3);

            odb.Close();
            odb = Open(baseName);
            var f3bis = (VO.Login.Function)odb.GetObjectFromId(id);

            odb.Delete(f3bis);
            odb.Close();
            odb = Open(baseName);
            odb.Store(new VO.Login.Function("last function"));
            odb.Close();
            odb = Open(baseName);
            var query = odb.Query <VO.Login.Function>();
            var l     = query.Execute <VO.Login.Function>();

            odb.Close();
            AssertEquals(3, l.Count);
        }
Example #26
0
        public virtual void TestUpdateRelation()
        {
            var baseName = GetBaseName();
            var odb      = Open(baseName);
            // first create a function
            var f = new VO.Login.Function("f1");

            odb.Store(f);
            odb.Close();
            odb = Open(baseName);
            // reloads the function
            var query = odb.Query <VO.Login.Function>();

            query.Descend("name").Constrain((object)"f1").Equal();
            var functions = query.Execute <VO.Login.Function>();
            var f1        = functions.GetFirst();
            // Create a profile with the loaded function
            var profile = new Profile("test", f1);

            odb.Store(profile);
            odb.Close();
            odb = Open(baseName);
            var query1   = odb.Query <Profile>();
            var profiles = query1.Execute <Profile>();
            var query2   = odb.Query <VO.Login.Function>();

            functions = query2.Execute <VO.Login.Function>();
            odb.Close();
            DeleteBase(baseName);
            AssertEquals(1, functions.Count);
            AssertEquals(1, profiles.Count);
        }
Example #27
0
 public virtual void TestSelectTrigger()
 {
     IOdb odb = null;
     DeleteBase("trigger.ndb");
     var myTrigger = new MySelectTrigger();
     try
     {
         odb = Open("trigger.ndb");
         var f1 = new VO.Login.Function("function1");
         var f2 = new VO.Login.Function("function2");
         var profile = new Profile("profile1", f1);
         var user = new User("oli", "*****@*****.**", profile);
         odb.Store(user);
         odb.Store(f2);
     }
     finally
     {
         if (odb != null)
             odb.Close();
     }
     odb = Open("trigger.ndb");
     odb.TriggerManagerFor<VO.Login.Function>().AddSelectTrigger(myTrigger);
     var query = odb.Query<VO.Login.Function>();
     var functions = query.Execute<VO.Login.Function>();
     odb.Close();
     DeleteBase("trigger.ndb");
     AssertEquals(2, functions.Count);
     AssertEquals(2, myTrigger.nbCalls);
 }
Example #28
0
        public virtual void Test4()
        {
            var baseName = GetBaseName();
            var n        = 100;
            var odb      = Open(baseName);
            var size     = odb.Query <VO.Login.Function>().Count();

            for (var i = 0; i < n; i++)
            {
                var login = new VO.Login.Function("login - " + (i + 1));
                odb.Store(login);
                AssertEquals(size + i + 1, odb.Query <VO.Login.Function>().Count());
                Console.WriteLine(i);
            }
            // IStorageEngine engine = Dummy.getEngine(odb);
            odb.Commit();
            var query = odb.Query <VO.Login.Function>();
            var l     = query.Execute <VO.Login.Function>(true);
            var j     = 0;

            while (l.HasNext())
            {
                Console.WriteLine(" i=" + j);
                var f = l.Next();
                odb.Delete(f);
                var query1 = odb.Query <VO.Login.Function>();
                var l2     = query1.Execute <VO.Login.Function>();
                AssertEquals(size + n - (j + 1), l2.Count);
                j++;
            }
            odb.Commit();
            odb.Close();
            DeleteBase(baseName);
        }
Example #29
0
        public virtual void Test5()
        {
            DeleteBase(FileName);

            using (var odb = Open(FileName))
            {
                IList list = new ArrayList();
                for (var i = 0; i < 15; i++)
                {
                    var function = new VO.Login.Function("function " + i);
                    odb.Store(function);
                    list.Add(function);
                }
            }

            using (var odb = Open(FileName))
            {
                IQuery query = odb.Query <VO.Login.Function>();
                query.Descend("name").Constrain("%9").Like().Or(query.Descend("name").Constrain("%8").Like());
                var l = query.Execute <VO.Login.Function>(false);
                AssertEquals(2, l.Count);
                l.Next();
                odb.Store(l.Next());
            }

            using (var odb = Open(FileName))
            {
                AssertEquals(15, odb.Query <VO.Login.Function>().Count());
            }
        }
Example #30
0
        public virtual void Test7()
        {
            DeleteBase(FileName);
            var odb      = Open(FileName);
            var function = new VO.Login.Function("login");
            var profile  = new Profile("operator", function);
            var user     = new User("olivier smadja", "*****@*****.**", profile);

            odb.Store(user);
            odb.Close();
            odb = Open(FileName);
            var query = odb.Query <User>();
            var user2 = query.Execute <User>().GetFirst();

            user2.GetProfile().AddFunction(new VO.Login.Function("new Function"));
            odb.Store(user2);
            odb.Close();
            odb = Open(FileName);
            var query1 = odb.Query <User>();
            var user3  = query1.Execute <User>().GetFirst();

            AssertEquals(2, user3.GetProfile().GetFunctions().Count);
            var f1 = user3.GetProfile().GetFunctions()[0];
            var f2 = user3.GetProfile().GetFunctions()[1];

            AssertEquals("login", f1.GetName());
            AssertEquals("new Function", f2.GetName());
            odb.Close();
        }
Example #31
0
 public virtual void TestComplexInstance()
 {
     DeleteBase("t-complex-instance.ndb");
     var odb = Open("t-complex-instance.ndb");
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     var functions = new List<VO.Login.Function>();
     functions.Add(login);
     functions.Add(logout);
     var profile = new Profile("profile1", functions);
     var user = new User("oliver", "*****@*****.**", profile);
     var user22 = new User("oliver2", "*****@*****.**", profile);
     odb.Store(user);
     odb.Store(user22);
     odb.Close();
     odb = Open("t-complex-instance.ndb");
     var query = odb.Query<User>();
     var l = query.Execute<User>(true);
     var user2 = l.GetFirst();
     // println("#### " + l.size() + " : " + l);
     AssertEquals(user.GetName(), user2.GetName());
     AssertEquals(user.GetEmail(), user2.GetEmail());
     AssertEquals(user.GetProfile().GetName(), user2.GetProfile().GetName());
     AssertEquals(user.GetProfile().GetFunctions()[0].ToString(), user2.GetProfile().GetFunctions()[0].ToString());
     odb.Close();
     DeleteBase("t-complex-instance.ndb");
 }
Example #32
0
        public virtual void Test4()
        {
            DeleteBase(FileName);
            var   odb  = Open(FileName);
            IList list = new ArrayList();

            for (var i = 0; i < 15; i++)
            {
                var function = new VO.Login.Function("function " + i);
                try
                {
                    odb.Store(function);
                }
                catch (Exception e)
                {
                    odb.Rollback();
                    odb.Close();
                    AssertTrue(e.Message.IndexOf("Cache is full!") != -1);
                    return;
                }
                list.Add(function);
            }
            odb.Close();
            odb = Open(FileName);
            var query = odb.Query <VO.Login.Function>();
            var l     = query.Execute <VO.Login.Function>(true);

            l.Next();
            l.Next();
            odb.Store(l.Next());
            odb.Close();
            odb = Open(FileName);
            AssertEquals(15, odb.Query <VO.Login.Function>().Count());
            odb.Close();
        }
Example #33
0
        public virtual void Test19()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");

            odb.Store(f1);
            odb.Close();
            odb = Open(baseName);
            var query   = odb.Query <VO.Login.Function>();
            var objects = query.Execute <VO.Login.Function>();

            AssertEquals(1, objects.Count);
            var f2  = objects.GetFirst();
            var oid = odb.GetObjectId(f2);

            odb.DeleteObjectWithId(oid);
            var query1 = odb.Query <VO.Login.Function>();

            AssertEquals(0, query1.Execute <VO.Login.Function>().Count);
            odb.Close();
            odb = Open(baseName);
            var query2 = odb.Query <VO.Login.Function>();

            objects = query2.Execute <VO.Login.Function>();
            AssertEquals(0, objects.Count);
        }
Example #34
0
        public virtual void Test18()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            DeleteBase(baseName);
            odb = Open(baseName);
            var f1   = new VO.Login.Function("function1");
            var f2   = new VO.Login.Function("function2");
            var f3   = new VO.Login.Function("function2");
            var oid1 = odb.Store(f1);
            var oid2 = odb.Store(f2);
            var oid3 = odb.Store(f3);

            AssertEquals(3, odb.Query <VO.Login.Function>().Count());
            odb.Close();
            odb = Open(baseName);
            odb.DeleteObjectWithId(oid2);
            AssertEquals(2, odb.Query <VO.Login.Function>().Count());
            // odb.store(f1);
            odb.Store(new VO.Login.Function("f11"));
            odb.Store(new VO.Login.Function("f12"));
            odb.Store(new VO.Login.Function("f13"));
            // odb.store(f3);
            AssertEquals(5, odb.Query <VO.Login.Function>().Count());
            odb.Close();
            odb = Open(baseName);
            var query = odb.Query <VO.Login.Function>();

            AssertEquals(5, query.Execute <VO.Login.Function>().Count);
            odb.Close();
            DeleteBase(baseName);
        }
Example #35
0
        public virtual void Test10()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var  query = odb.Query <VO.Login.Function>();
            long size  = query.Execute <VO.Login.Function>().Count;
            var  f1    = new VO.Login.Function("function1");

            odb.Store(f1);
            odb.Close();
            odb = Open(baseName);
            var query1 = odb.Query <VO.Login.Function>();
            var f1bis  = query1.Execute <VO.Login.Function>().GetFirst();

            odb.Delete(f1bis);
            odb.Close();
            odb = Open(baseName);
            var query3 = odb.Query <VO.Login.Function>();

            AssertEquals(size, query3.Execute <VO.Login.Function>().Count);
            odb.Store(new VO.Login.Function("last function"));
            odb.Close();
            odb = Open(baseName);
            var query2 = odb.Query <VO.Login.Function>();
            var l      = query2.Execute <VO.Login.Function>();

            odb.Close();
            AssertEquals(size + 1, l.Count);
        }
Example #36
0
        public virtual void Test2()
        {
            var baseName = GetBaseName();

            DeleteBase(baseName);

            long nbFunctions;

            using (var odb = Open(baseName))
            {
                nbFunctions = odb.Query <VO.Login.Function>().Count();
                decimal nbProfiles = odb.Query <Profile>().Count();

                var function1 = new VO.Login.Function("function1");
                var function2 = new VO.Login.Function("function2");
                var function3 = new VO.Login.Function("function3");
                var functions = new List <VO.Login.Function>();

                functions.Add(function1);
                functions.Add(function2);
                functions.Add(function3);

                var profile1 = new Profile("profile1", functions);
                var profile2 = new Profile("profile2", function1);

                odb.Store(profile1);
                odb.Store(profile2);
            }

            using (var odb = Open(baseName))
            {
                var query1     = odb.Query <VO.Login.Function>();
                var lfunctions = query1.Execute <VO.Login.Function>(true);
                AssertEquals(nbFunctions + 3, lfunctions.Count);

                var query = odb.Query <VO.Login.Function>();
                query.Descend("name").Constrain("function2").Equal();
                var l        = query.Execute <VO.Login.Function>();
                var function = l.GetFirst();

                odb.Delete(function);
            }

            using (var odb = Open(baseName))
            {
                AssertEquals(nbFunctions + 2, odb.Query <VO.Login.Function>().Count());

                var query3 = odb.Query <VO.Login.Function>();
                var l2     = query3.Execute <VO.Login.Function>(true);

                // check Profile 1
                var query2 = odb.Query <Profile>();
                query2.Descend("name").Constrain("profile1").Equal();

                var lprofile = query2.Execute <Profile>();
                var p1       = lprofile.GetFirst();
                AssertEquals(3, p1.GetFunctions().Count);
                Assert.That(p1.GetFunctions(), Contains.Item(null));
            }
        }
Example #37
0
        public virtual void Test21()
        {
            IOdb odb      = null;
            var  baseName = GetBaseName();

            odb = Open(baseName);
            var f0 = new VO.Login.Function("function0");

            odb.Store(f0);
            odb.Close();
            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");

            odb.Store(f1);
            var f2 = new VO.Login.Function("function2");

            odb.Store(f2);
            odb.Delete(f1);
            odb.Close();
            odb = Open(baseName);
            var objects = odb.Query <VO.Login.Function>().Execute <VO.Login.Function>();

            AssertEquals(2, objects.Count);
            odb.Close();
        }
Example #38
0
        public virtual void Test20()
        {
            var  baseName = GetBaseName();
            IOdb odb      = null;

            odb = Open(baseName);
            var f0 = new VO.Login.Function("1function0");

            odb.Store(f0);
            odb.Close();
            odb = Open(baseName);
            var f1 = new VO.Login.Function("function1");

            odb.Store(f1);
            odb.Commit();
            var query = odb.Query <VO.Login.Function>();

            query.Descend("name").Constrain("func%").Like();
            var objects = query.Execute <VO.Login.Function>();

            AssertEquals(1, objects.Count);
            var f2  = objects.GetFirst();
            var oid = odb.GetObjectId(f2);

            odb.DeleteObjectWithId(oid);
            var query1 = odb.Query <VO.Login.Function>();

            AssertEquals(1, query1.Execute <VO.Login.Function>().Count);
            odb.Close();
            odb = Open(baseName);
            var query2 = odb.Query <VO.Login.Function>();

            objects = query2.Execute <VO.Login.Function>();
            AssertEquals(1, objects.Count);
        }
Example #39
0
        public virtual void Test1()
        {
            DeleteBase(FileName);

            IDbIdentification parameter = new FileIdentification(FileName);

            var engine    = (IStorageEngine) new StorageEngine(parameter);
            var function1 = new VO.Login.Function("login");

            engine.Store(function1);

            var function2 = new VO.Login.Function("login2");

            engine.Store(function2);

            engine.Commit();
            engine.Close();

            engine = new StorageEngine(parameter);
            var l = engine.GetAllObjectIds();

            AssertEquals(2, l.Count);
            engine.Close();
            DeleteBase(FileName);
        }
Example #40
0
 public virtual void Test1()
 {
     DeleteBase("t1u.ndb");
     var odb = Open("t1u.ndb");
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     odb.Store(login);
     Println("--------");
     odb.Store(login);
     odb.Store(logout);
     // odb.commit();
     odb.Close();
     odb = Open("t1u.ndb");
     var query = odb.Query<VO.Login.Function>();
     var l = query.Execute<VO.Login.Function>(true);
     var f2 = l.GetFirst();
     f2.SetName("login function");
     odb.Store(f2);
     odb.Close();
     var odb2 = Open("t1u.ndb");
     var query1 = odb2.Query<VO.Login.Function>();
     var f = query1.Execute<VO.Login.Function>().GetFirst();
     AssertEquals("login function", f.GetName());
     odb2.Close();
     DeleteBase("t1u.ndb");
 }
Example #41
0
 public virtual void Test1()
 {
     DeleteBase("getid.ndb");
     var function1 = new VO.Login.Function("f1");
     var function2 = new VO.Login.Function("f2");
     var odb = Open("getid.ndb");
     odb.Store(function1);
     odb.Store(function2);
     var id1 = odb.GetObjectId(function1);
     var id2 = odb.GetObjectId(function2);
     odb.Close();
     odb = Open("getid.ndb");
     var function1bis = (VO.Login.Function) odb.GetObjectFromId(id1);
     AssertEquals(function1.GetName(), function1bis.GetName());
     var function2bis = (VO.Login.Function) odb.GetObjectFromId(id2);
     function2bis.SetName("function 2");
     odb.Store(function2bis);
     var id2bis = odb.GetObjectId(function2bis);
     odb.Close();
     odb = Open("getid.ndb");
     var function2ter = (VO.Login.Function) odb.GetObjectFromId(id2);
     AssertEquals("function 2", function2ter.GetName());
     odb.Close();
     DeleteBase("getid.ndb");
 }
        public virtual void Test3()
        {
            // LogUtil.objectReaderOn(true);
            DeleteBase("map-with-collections");
            IOdb odb = null;
            odb = Open("map-with-collections");
            var o = new MyMapObject("test");
            IList<MyMapObject> c = new List<MyMapObject>();
            c.Add(o);
            var f1 = new VO.Login.Function("function1");
            o.GetMap().Add("a", c);
            var size = 1;
            for (var i = 0; i < size; i++)
                o.GetMap().Add("A" + i, f1);
            o.GetMap().Add("c", f1);
            Println("RealMap" + o.GetMap());
            odb.Store(o);
            odb.Close();
            odb = Open("map-with-collections");
            var query = odb.Query<MyMapObject>();
            var os = query.Execute<MyMapObject>();
            var mmo = os.GetFirst();
            odb.Close();
            DeleteBase("map-with-collections");
            AssertEquals(o.GetName(), mmo.GetName());
            AssertEquals(size + 2, mmo.GetMap().Count);

            var enumerator = ((ICollection) mmo.GetMap()["a"]).GetEnumerator();
            enumerator.MoveNext();
            AssertEquals(mmo, enumerator.Current);
            AssertEquals("function1", mmo.GetMap()["c"].ToString());
        }
Example #43
0
 private object GetInstance(int i)
 {
     var login = new VO.Login.Function("login " + i);
     var logout = new VO.Login.Function("logout" + i);
     IList<VO.Login.Function> list = new List<VO.Login.Function>();
     list.Add(login);
     list.Add(logout);
     var profile = new Profile("operator" + i, list);
     var user = new User("kiko" + i, "*****@*****.**" + i, profile);
     return user;
 }
Example #44
0
 private object GetUserInstance()
 {
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     IList<VO.Login.Function> list = new List<VO.Login.Function>();
     list.Add(login);
     list.Add(logout);
     var profile = new Profile("operator", list);
     var user = new User("olivier smadja", "*****@*****.**", profile);
     return user;
 }
Example #45
0
        public virtual void Test1()
        {
            DeleteBase("withoid");

            var odb = Open("withoid");
            var oid = odb.Store(new VO.Login.Function("f1"));
            odb.Close();
            odb = Open("withoid");
            var f2 = new VO.Login.Function("f2");
            var engine = ((global::NDatabase.Odb)odb).GetStorageEngine();
            engine.Store(oid, f2);
            odb.Close();
            odb = Open("withoid");
            var f = (VO.Login.Function) odb.GetObjectFromId(oid);
            odb.Close();
            AssertEquals("f2", f.GetName());
        }
Example #46
0
 public virtual void TestGetObjectId()
 {
     DeleteBase("extb");
     var odb = OdbFactory.Open("extb");
     var f = new VO.Login.Function("Test Function");
     var oid = odb.Store(f);
     var extOid = odb.Ext().GetObjectExternalOID(f);
     AssertEquals(oid.ObjectId, extOid.ObjectId);
     AssertEquals(odb.Ext().GetDatabaseId(), extOid.GetDatabaseId());
     odb.Close();
     odb = Open("extb");
     // Getting object via external oid
     var f2 = (VO.Login.Function) odb.GetObjectFromId(extOid);
     var lastOid = odb.GetObjectId(f2);
     AssertEquals(oid, lastOid);
     AssertEquals(f.GetName(), f2.GetName());
     odb.Close();
 }
Example #47
0
 public virtual void Test2()
 {
     DeleteBase("session.ndb");
     var odb = Open("session.ndb");
     var f = new VO.Login.Function("f1");
     odb.Store(f);
     odb.Commit();
     f.SetName("f1 -1");
     odb.Store(f);
     odb.Close();
     odb = Open("session.ndb");
     var query = odb.Query<VO.Login.Function>();
     var os = query.Execute<VO.Login.Function>();
     AssertEquals(1, os.Count);
     var f2 = os.GetFirst();
     odb.Close();
     DeleteBase("session.ndb");
     AssertEquals("f1 -1", f2.GetName());
 }
Example #48
0
 public virtual void Test7()
 {
     DeleteBase("t1u.ndb");
     var odb = Open("t1u.ndb");
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     odb.Store(login);
     odb.Store(logout);
     odb.Commit();
     var input = new VO.Login.Function("input");
     odb.Store(input);
     odb.Close();
     odb = Open("t1u.ndb");
     var query = odb.Query<VO.Login.Function>();
     var l = query.Execute<VO.Login.Function>(true);
     AssertEquals(3, l.Count);
     // println(l);
     odb.Close();
 }
Example #49
0
 public virtual void Test1()
 {
     var baseName = GetBaseName();
     Println(baseName);
     var odb = Open(baseName);
     var nameWithCyrillicCharacters = "\u0410 \u0430 \u0431 \u0448 \u0429";
     var f = new VO.Login.Function(nameWithCyrillicCharacters);
     var oid = odb.Store(f);
     odb.Close();
     Println(f);
     odb = Open(baseName);
     var f2 = (VO.Login.Function) odb.GetObjectFromId(oid);
     odb.Close();
     AssertEquals(nameWithCyrillicCharacters, f2.GetName());
     AssertEquals('\u0410', f2.GetName()[0]);
     AssertEquals('\u0430', f2.GetName()[2]);
     AssertEquals('\u0431', f2.GetName()[4]);
     AssertEquals('\u0448', f2.GetName()[6]);
     AssertEquals('\u0429', f2.GetName()[8]);
 }
Example #50
0
 public virtual void Test1()
 {
     DeleteBase("t1.ndb");
     // LogUtil.allOn(true);
     var odb = Open("t1.ndb");
     // LogUtil.objectWriterOn(true);
     var login = new VO.Login.Function("login");
     IList<VO.Login.Function> list = new List<VO.Login.Function>();
     list.Add(login);
     var profile1 = new Profile("operator 1", list);
     var user = new User("olivier smadja", "*****@*****.**", profile1);
     odb.Store(user);
     odb.Close();
     odb = Open("t1.ndb");
     var query = odb.Query<User>();
     var users = query.Execute<User>(true);
     // assertEquals(nbUsers+2,users.size());
     var user2 = users.GetFirst();
     odb.Close();
     AssertEquals(user.ToString(), user2.ToString());
     DeleteBase("t1.ndb");
 }
Example #51
0
File: AllIDs.cs Project: danfma/NDB
        public virtual void Test1()
        {
            DeleteBase(FileName);

            IDbIdentification parameter = new FileIdentification(FileName);

            var engine = (IStorageEngine) new StorageEngine(parameter);
            var function1 = new VO.Login.Function("login");
            engine.Store(function1);

            var function2 = new VO.Login.Function("login2");
            engine.Store(function2);

            engine.Commit();
            engine.Close();

            engine = new StorageEngine(parameter);
            var l = engine.GetAllObjectIds();
            AssertEquals(2, l.Count);
            engine.Close();
            DeleteBase(FileName);
        }
Example #52
0
 public virtual void Test2()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     IDictionary objects = new Dictionary<object, object>();
     VO.Login.Function f = null;
     OID oid = null;
     ObjectWrapper ow = null;
     var i = 0;
     for (i = 0; i < size; i++)
     {
         f = new VO.Login.Function("function " + i);
         oid = OIDFactory.BuildObjectOID(i);
         objects.Add(oid, new ObjectWrapper(f, false));
         if (i < size / 2)
         {
             ow = (ObjectWrapper) objects[oid];
             ow.SetModified(true);
         }
     }
     i = 0;
     var nbModified = 0;
     // Now get all modified objects
     var iterator = objects.Keys.GetEnumerator();
     while (iterator.MoveNext())
     {
         oid = (OID) iterator.Current;
         ow = (ObjectWrapper) objects[oid];
         if (ow.IsModified())
             nbModified++;
         i++;
     }
     stopWatch.End();
     Println("time for 1 map =" + stopWatch.GetDurationInMiliseconds());
     AssertEquals(size / 2, nbModified);
 }
Example #53
0
 public virtual void Test6()
 {
     // LogUtil.objectWriterOn(true);
     DeleteBase("t6.ndb");
     var odb = Open("t6.ndb");
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     var list = new List<VO.Login.Function>();
     list.Add(login);
     list.Add(logout);
     var profile = new Profile("operator", list);
     var olivier = new User("olivier smadja", "*****@*****.**", profile);
     odb.Store(olivier);
     odb.Close();
     Println("----------");
     odb = Open("t6.ndb");
     var query = odb.Query<User>();
     var users = query.Execute<User>(true);
     var u1 = users.GetFirst();
     u1.GetProfile().SetName("operator 234567891011121314");
     odb.Store(u1);
     odb.Close();
     odb = Open("t6.ndb");
     var query1 = odb.Query<Profile>();
     var profiles = query1.Execute<Profile>(true);
     AssertEquals(1, profiles.Count);
     var p1 = profiles.GetFirst();
     AssertEquals(u1.GetProfile().GetName(), p1.GetName());
 }
Example #54
0
        public void TestCompareCollection9()
        {
            const string dbName = "introspectortest9.odb";
            DeleteBase(dbName);
            var odb = OdbFactory.Open(dbName);

            var function = new VO.Login.Function("login");
            var profile = new Profile("operator", function);
            var user = new User("olivier smadja", "*****@*****.**", profile);
            IObjectInfoComparator comparator = new ObjectInfoComparator();

            var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine();

            var instanceInfo =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                            new InstrumentationCallbackForStore(null,
                                                                                                                false));
            // Sets attributes offsets - this is normally done by reading then from
            // disk, but in this junit,
            // we must set them manually
            var offsets = new[] {1L, 2L, 3L};
            var ids = new[] {1, 2, 3};
            instanceInfo.GetHeader().SetAttributesIdentification(offsets);
            instanceInfo.GetHeader().SetAttributesIds(ids);
            instanceInfo.GetHeader().SetOid(OIDFactory.BuildObjectOID(1));
            var nnoiProfile = (NonNativeObjectInfo) instanceInfo.GetAttributeValueFromId(3);
            nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2));

            var nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1);
            nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3));

            user.SetName("Kiko");
            var instanceInfo3 =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                            new InstrumentationCallbackForStore(null,
                                                                                                                false));
            instanceInfo3.GetHeader().SetOid(OIDFactory.BuildObjectOID(1));
            nnoiProfile = (NonNativeObjectInfo) instanceInfo3.GetAttributeValueFromId(3);
            nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2));

            nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1);
            nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3));

            AssertTrue(comparator.HasChanged(instanceInfo, instanceInfo3));
            AssertEquals(1, comparator.GetNbChanges());

            odb.Close();
        }
Example #55
0
 public virtual void Test5()
 {
     DeleteBase("t5.ndb");
     var odb = Open("t5.ndb");
     var nbFunctions = odb.Query<VO.Login.Function>().Count();
     var nbProfiles = odb.Query<Profile>().Count();
     var nbUsers = odb.Query<User>().Count();
     var login = new VO.Login.Function("login");
     var logout = new VO.Login.Function("logout");
     var list = new List<VO.Login.Function>();
     list.Add(login);
     list.Add(logout);
     var profile = new Profile("operator", list);
     var olivier = new User("olivier smadja", "*****@*****.**", profile);
     var aisa = new User("Aísa Galvão Smadja", "*****@*****.**", profile);
     odb.Store(olivier);
     odb.Store(profile);
     odb.Commit();
     odb.Close();
     odb = Open("t5.ndb");
     var query = odb.Query<User>();
     var users = query.Execute<User>(true);
     var query1 = odb.Query<Profile>();
     var profiles = query1.Execute<Profile>(true);
     var query2 = odb.Query<VO.Login.Function>();
     var functions = query2.Execute<VO.Login.Function>(true);
     odb.Close();
     AssertEquals(nbUsers + 1, users.Count);
     AssertEquals(nbProfiles + 1, profiles.Count);
     AssertEquals(nbFunctions + 2, functions.Count);
 }
Example #56
0
        public void TestCopy()
        {
            const string dbName = "introspectortest2.odb";
            DeleteBase(dbName);
            var odb = OdbFactory.Open(dbName);

            var function = new VO.Login.Function("login");
            var profile = new Profile("operator", function);
            var user = new User("olivier smadja", "*****@*****.**", profile);

            var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine();

            var instanceInfo =
                (NonNativeObjectInfo)
                new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null,
                                                                            new InstrumentationCallbackForStore(null,
                                                                                                                false));
            var copy = (NonNativeObjectInfo) instanceInfo.CreateCopy(new OdbHashMap<OID, AbstractObjectInfo>(), true);
            AssertEquals(3, copy.GetAttributeValues().Length);
            var aois = copy.GetAttributeValues();
            for (var i = 0; i < aois.Length; i++)
            {
                var aoi = aois[i];
                AssertEquals(instanceInfo.GetAttributeValues()[i].GetOdbTypeId(), aoi.GetOdbTypeId());
            }

            odb.Close();
        }
Example #57
0
 public virtual void Test1WithCommit3()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     DeleteBase(FileName);
     var odb = Open(FileName);
     var f1 = new VO.Login.Function("function 1");
     Println(odb.Query<User>().Count());
     var p = new Profile("profile number 0", f1);
     p.AddFunction(new VO.Login.Function("f1"));
     var user = new User("user name 0", "user email 0", p);
     odb.Store(user);
     var p2 = new Profile("profile number 0", f1);
     p2.AddFunction(new VO.Login.Function("f2"));
     var user2 = new User("user name 0", "user email 0", p2);
     odb.Store(user2);
     odb.Close();
     odb = Open(FileName);
     IObjectSet<User> objectSet = null;
     for (var k = 0; k < 2; k++)
     {
         Console.Out.WriteLine(":" + k);
         var query = odb.Query<User>();
         objectSet = query.Execute<User>();
         while (objectSet.HasNext())
         {
             user = objectSet.Next();
             user.GetProfile().SetName(user.GetProfile().GetName() + "-updated");
             Println(user.GetProfile().GetName());
             odb.Store(user);
         }
     }
     odb.Close();
     odb = Open(FileName);
     var query1 = odb.Query<User>();
     objectSet = query1.Execute<User>();
     AssertEquals(2, objectSet.Count);
     odb.Close();
 }
Example #58
0
 public virtual void Test1WithCommit4()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     DeleteBase(FileName);
     var odb = Open(FileName);
     var f1 = new VO.Login.Function("function1");
     odb.Store(f1);
     var f2 = new VO.Login.Function("function2");
     odb.Store(f2);
     odb.Close();
     odb = Open(FileName);
     var query = odb.Query<VO.Login.Function>();
     var objects = query.Execute<VO.Login.Function>();
     VO.Login.Function f = null;
     Println("got the object " + objects.Count);
     for (var k = 0; k < 2; k++)
     {
         objects.Reset();
         while (objects.HasNext())
         {
             f = objects.Next();
             f.SetName(f.GetName() + "updated-");
             odb.Store(f);
         }
     }
     odb.Close();
     odb = Open(FileName);
     var query1 = odb.Query<VO.Login.Function>();
     objects = query1.Execute<VO.Login.Function>();
     odb.Close();
 }
Example #59
0
 public virtual void Test1WithCommit()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     var size = 10000;
     var size2 = 5000;
     var nbFunctions = 2;
     DeleteBase(FileName);
     var odb = Open(FileName);
     var f1 = new VO.Login.Function("function 1");
     // Create Objects
     for (var i = 0; i < size; i++)
     {
         var p = new Profile("profile number " + i, f1);
         for (var j = 0; j < nbFunctions; j++)
             p.AddFunction(new VO.Login.Function(" inner function of profile : number " + i + " - " + j));
         var user = new User("user name " + i, "user email " + i, p);
         odb.Store(user);
         if (i % 100 == 0)
         {
         }
     }
     // println("insert " + i);
     odb.Close();
     Println("created");
     // Updates 10 times the objects
     odb = Open(FileName);
     var query = odb.Query<User>();
     var objects = query.Execute<User>();
     Println("got the object " + objects.Count);
     for (var k = 0; k < 10; k++)
     {
         objects.Reset();
         var start = OdbTime.GetCurrentTimeInMs();
         for (var i = 0; i < size2; i++)
         {
             var user = objects.Next();
             user.GetProfile().SetName(user.GetProfile().GetName() + "-updated");
             odb.Store(user);
             if (i % 100 == 0)
             {
             }
         }
         // println("update " + i + " - " + k);
         Println("Update " + k + " - " + (OdbTime.GetCurrentTimeInMs() - start) + " ms");
     }
     Println("updated");
     // Delete the rest of the objects
     for (var i = size2; i < size; i++)
     {
         odb.Delete(objects.Next());
         if (i % 100 == 0)
             Println("delete " + i);
     }
     Println("deleted");
     odb.Close();
     // Check object count
     odb = Open(FileName);
     var query1 = odb.Query<User>();
     objects = query1.Execute<User>();
     AssertEquals(size2, objects.Count);
     // Check data of the objects
     var a = 0;
     while (objects.HasNext())
     {
         var user = objects.Next();
         AssertEquals("user name " + a, user.GetName());
         AssertEquals("user email " + a, user.GetEmail());
         AssertEquals(
             "profile number " + a +
             "-updated-updated-updated-updated-updated-updated-updated-updated-updated-updated",
             user.GetProfile().GetName());
         a++;
     }
     Println("checked");
     for (var k = 0; k < 10; k++)
     {
         objects.Reset();
         for (var i = 0; i < size2; i++)
         {
             var user = objects.Next();
             user.GetProfile().SetName(user.GetProfile().GetName() + "-updated" + "-");
             odb.Store(user);
         }
     }
     Println("re-updated");
     odb.Close();
     // delete objects
     odb = Open(FileName);
     var query2 = odb.Query<User>();
     objects = query2.Execute<User>();
     a = 0;
     while (objects.HasNext())
     {
         odb.Delete(objects.Next());
         a++;
     }
     AssertEquals(size2, a);
     odb.Close();
     odb = Open(FileName);
     var query3 = odb.Query<User>();
     AssertEquals(0, query3.Execute<User>().Count);
     AssertEquals(0, odb.Query<User>().Count());
     Println("deleted");
     odb.Close();
     stopWatch.End();
     Println("Total time 1 = " + stopWatch.GetDurationInMiliseconds());
     if (stopWatch.GetDurationInMiliseconds() > 90700)
         Fail("time is > than " + 90700 + " = " + stopWatch.GetDurationInMiliseconds());
 }
Example #60
0
 public virtual void Test1WithoutCommit()
 {
     var stopWatch = new StopWatch();
     stopWatch.Start();
     var size = 10000;
     var size2 = 5000;
     var nbFunctions = 10;
     DeleteBase(FileName);
     var odb = Open(FileName);
     var f1 = new VO.Login.Function("function 1");
     // Create Objects
     for (var i = 0; i < size; i++)
     {
         var p = new Profile("profile number " + i, f1);
         for (var j = 0; j < nbFunctions; j++)
             p.AddFunction(new VO.Login.Function(" inner function of profile : number " + i + " - " + j));
         var user = new User("user name " + i, "user email " + i, p);
         odb.Store(user);
     }
     Println("created");
     // Updates 10 times the objects
     var query = odb.Query<User>();
     var objects = query.Execute<User>();
     for (var k = 0; k < 10; k++)
     {
         objects.Reset();
         for (var i = 0; i < size2; i++)
         {
             var user = objects.Next();
             user.GetProfile().SetName(user.GetProfile().GetName() + "-updated");
             odb.Store(user);
         }
     }
     Println("updated");
     // Delete the rest of the objects
     for (var i = size2; i < size; i++)
         odb.Delete(objects.Next());
     Println("deleted");
     // Check object count
     var query1 = odb.Query<User>();
     objects = query1.Execute<User>();
     AssertEquals(size2, objects.Count);
     // Check data of the objects
     var a = 0;
     while (objects.HasNext())
     {
         var user = objects.Next();
         AssertEquals("user name " + a, user.GetName());
         AssertEquals("user email " + a, user.GetEmail());
         AssertEquals(
             "profile number " + a +
             "-updated-updated-updated-updated-updated-updated-updated-updated-updated-updated",
             user.GetProfile().GetName());
         a++;
     }
     Println("checked");
     for (var k = 0; k < 10; k++)
     {
         objects.Reset();
         for (var i = 0; i < size2; i++)
         {
             var user = objects.Next();
             user.GetProfile().SetName(user.GetProfile().GetName() + "-updated" + "-");
             odb.Store(user);
         }
     }
     Println("re-updated");
     var query2 = odb.Query<User>();
     objects = query2.Execute<User>();
     var engine = ((global::NDatabase.Odb)odb).GetStorageEngine();
     var uncommited =
         engine.GetSession().GetMetaModel().GetClassInfo(typeof (User).FullName, true).UncommittedZoneInfo;
     CIZoneInfo commited =
         engine.GetSession().GetMetaModel().GetClassInfo(typeof (User).FullName, true).CommitedZoneInfo;
     Println("Before commit : uncommited=" + uncommited);
     Println("Before commit : commited=" + commited);
     a = 0;
     while (objects.HasNext())
     {
         // println("a="+a);
         odb.Delete(objects.Next());
         a++;
     }
     AssertEquals(size2, a);
     var query3 = odb.Query<User>();
     AssertEquals(0, query3.Execute<User>().Count);
     AssertEquals(0, odb.Query<User>().Count());
     Println("deleted");
     odb.Close();
     stopWatch.End();
     Println("Total time 2 = " + stopWatch.GetDurationInMiliseconds());
     if (stopWatch.GetDurationInMiliseconds() > 108438)
         Fail("time is > than " + 108438 + " = " + stopWatch.GetDurationInMiliseconds());
 }