Exemple #1
0
        public void Name_Is_Valid_Code_Identifier(WCTestData testData, IPersistentCoreTypeMemberInfo persistentClassInfo)
        {
            persistentClassInfo.Name = "123";

            Validator.RuleSet.StateOf <RuleValidCodeIdentifier>(persistentClassInfo, nameof(persistentClassInfo.Name))
            .Should().Be(ValidationState.Invalid);
        }
Exemple #2
0
        private static CodeTemplateInfo CreateCalculatedCodeTemplateInfo(IPersistentCoreTypeMemberInfo persistentCoreTypeMemberInfo)
        {
            var codeTemplateInfo = new CodeTemplateInfo(persistentCoreTypeMemberInfo.Session);
            var codeTemplate     = new CodeTemplate(codeTemplateInfo.Session)
            {
                TemplateType = TemplateType.XPCalculatedPropertyMember
            };

            codeTemplate.SetDefaults();
            codeTemplate.Name             = "CalculatedProperty";
            codeTemplateInfo.TemplateInfo = codeTemplate;
            return(codeTemplateInfo);
        }
        public void Primitive_type_member(IWCTestData testData, IPersistentCoreTypeMemberInfo 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.Name.Should().Be(memberInfo.DataType.ToString());
        }
Exemple #4
0
        public void Compile_Time_Exceptions(WCTestData testData, IPersistentCoreTypeMemberInfo memberInfo)
        {
            var persistentAssemblyInfo = memberInfo.Owner.PersistentAssemblyInfo;

            memberInfo.TypeAttributes.Add(new PersistentKeyAttribute(memberInfo.Session));
            memberInfo.TypeAttributes.Add(new PersistentKeyAttribute(memberInfo.Session));

            var result = persistentAssemblyInfo.Validate(AssemblyPath);


            result.Valid.Should().Be(false);
            result.Message.Should().Contain("Duplicate 'DevExpress.Xpo.KeyAttribute' attribute");
        }
Exemple #5
0
 private static void AddAttributes(IPersistentCoreTypeMemberInfo persistentCoreTypeMemberInfo)
 {
     persistentCoreTypeMemberInfo.TypeAttributes.Add(
         new PersistentVisibleInDetailViewAttribute(persistentCoreTypeMemberInfo.Session));
     persistentCoreTypeMemberInfo.TypeAttributes.Add(
         new PersistentVisibleInListViewAttribute(persistentCoreTypeMemberInfo.Session));
     persistentCoreTypeMemberInfo.TypeAttributes.Add(
         new PersistentVisibleInLookupListViewAttribute(persistentCoreTypeMemberInfo.Session));
     persistentCoreTypeMemberInfo.TypeAttributes.Add(
         new PersistentPersistentAliasAttribute(persistentCoreTypeMemberInfo.Session)
     {
         AliasExpression = "DMDOrders.Min(OrderDate)"
     });
 }