public void TestClassInfo() { var user = new User("olivier smadja", "*****@*****.**", new Profile("operator", new VO.Login.Function("login"))); var classInfoList = ClassIntrospector.Introspect(user.GetType(), true); AssertEquals(OdbClassNameResolver.GetFullName(user.GetType()), classInfoList.GetMainClassInfo().FullClassName); AssertEquals(3, classInfoList.GetMainClassInfo().Attributes.Count); AssertEquals(3, classInfoList.GetClassInfos().Count); }
public void TestInstanceInfo2() { const string dbName = "TestInstanceInfo2.odb"; DeleteBase(dbName); var odb = OdbFactory.Open(dbName); var user = new User("olivier smadja", "*****@*****.**", new Profile("operator", new VO.Login.Function("login"))); 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)); AssertEquals(instanceInfo.GetClassInfo().FullClassName, OdbClassNameResolver.GetFullName(user.GetType())); AssertEquals(instanceInfo.GetAttributeValueFromId(ci.GetAttributeId("name")).ToString(), "olivier smadja"); odb.Close(); }
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(); }