public void Many_to_many_association(IWCTestData testData, IPersistentCollectionMemberInfo collectionMemberInfo, IPersistentReferenceMemberInfo referenceMemberInfo, Compiler compiler) { referenceMemberInfo.CreateAssociation("test"); collectionMemberInfo.CreateAssociation("test"); var persistentAssemblyInfo = referenceMemberInfo.Owner.PersistentAssemblyInfo; var code = persistentAssemblyInfo.GenerateCode(); var assemblyDefinition = compiler.Compile(code, persistentAssemblyInfo.Name).AssemblyDefinition; CheckAssociation(referenceMemberInfo, assemblyDefinition); CheckAssociation(collectionMemberInfo, assemblyDefinition); }
public void Collection_member(IWCTestData testData, IPersistentCollectionMemberInfo memberInfo, Compiler compiler) { var assemblyInfo = memberInfo.Owner.PersistentAssemblyInfo; var code = assemblyInfo.GenerateCode(); var compilerResult = compiler.Compile(code, assemblyInfo.Name); var propertyDefinitions = compilerResult.AssemblyDefinition.MainModule.Types.SelectMany(definition => definition.Properties); var propertyDefinition = propertyDefinitions.FirstOrDefault(definition => definition.Name == memberInfo.Name); propertyDefinition.Should().NotBeNull(); propertyDefinition?.PropertyType.ToString().Should().Contain(typeof(XPCollection).FullName); propertyDefinition?.PropertyType.ToString().Should().Contain(memberInfo.CollectionClassInfo.Name); }
public void ManyToOne_association(IWCTestData testData, IPersistentCollectionMemberInfo memberInfo, Compiler compiler) { CreateAndCheckAssociation(memberInfo, compiler); }