public virtual void Test1() { Println("************START OF TEST1***************"); DeleteBase("index-object"); IndexedObject2 o1; using (var odb = Open("index-object")) { var fields = new[] { "object" }; odb.IndexManagerFor <IndexedObject2>().AddUniqueIndexOn("index1", fields); o1 = new IndexedObject2("Object1", new IndexedObject("Inner Object 1", 10, new DateTime())); odb.Store(o1); Assert.That(odb.IndexManagerFor <IndexedObject2>().ExistIndex("index1"), Is.True); var indexes = odb.QueryAndExecute <ClassInfoIndex>().ToList(); Assert.That(indexes.Count, Is.EqualTo(1)); } using (var odb = Open("index-object")) { var indexes = odb.QueryAndExecute <ClassInfoIndex>().ToList(); Assert.That(indexes.Count, Is.EqualTo(1)); Assert.That(odb.IndexManagerFor <IndexedObject2>().ExistIndex("index1"), Is.True); var query = odb.Query <IndexedObject>(); var objects = query.Execute <IndexedObject>(); var io = objects.GetFirst(); IQuery q = odb.Query <IndexedObject2>(); q.Descend("object").Constrain(io).Identity(); var objects2 = q.Execute <IndexedObject2>(); IndexedObject2 o2 = objects2.GetFirst(); AssertEquals(o1.GetName(), o2.GetName()); Println(((IInternalQuery)q).GetExecutionPlan().GetDetails()); AssertFalse(((IInternalQuery)q).GetExecutionPlan().GetDetails().IndexOf("index1") == -1); } DeleteBase("index-object"); Println("************END OF TEST1***************"); }
public virtual void Test1() { Println("************START OF TEST1***************"); DeleteBase("index-object"); IndexedObject2 o1; using (var odb = Open("index-object")) { var fields = new[] {"object"}; odb.IndexManagerFor<IndexedObject2>().AddUniqueIndexOn("index1", fields); o1 = new IndexedObject2("Object1", new IndexedObject("Inner Object 1", 10, new DateTime())); odb.Store(o1); Assert.That(odb.IndexManagerFor<IndexedObject2>().ExistIndex("index1"), Is.True); var indexes = odb.QueryAndExecute<ClassInfoIndex>().ToList(); Assert.That(indexes.Count, Is.EqualTo(1)); } using (var odb = Open("index-object")) { var indexes = odb.QueryAndExecute<ClassInfoIndex>().ToList(); Assert.That(indexes.Count, Is.EqualTo(1)); Assert.That(odb.IndexManagerFor<IndexedObject2>().ExistIndex("index1"), Is.True); var query = odb.Query<IndexedObject>(); var objects = query.Execute<IndexedObject>(); var io = objects.GetFirst(); IQuery q = odb.Query<IndexedObject2>(); q.Descend("object").Constrain(io).Identity(); var objects2 = q.Execute<IndexedObject2>(); IndexedObject2 o2 = objects2.GetFirst(); AssertEquals(o1.GetName(), o2.GetName()); Println(((IInternalQuery)q).GetExecutionPlan().GetDetails()); AssertFalse(((IInternalQuery)q).GetExecutionPlan().GetDetails().IndexOf("index1") == -1); } DeleteBase("index-object"); Println("************END OF TEST1***************"); }