コード例 #1
0
        public void TestClientCodegen_ComplexTypeScenarios_RootNs_FullTypeNames()
        {
            string[] sharedFiles = new string[] { 
                TestHelper.GetTestFileName("Test.shared.cs"),
            };

            Type[] types = new[]
            {
                typeof(TestDomainServices.ComplexTypes_TestService),
                typeof(TestDomainServices.ComplexTypes_DomainService),
                typeof(TestDomainServices.ComplexTypes_InvokeOperationsOnly)
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"Default\Mocks", "CG_Scenarios_Complex_RootNs_FullTypeNames", "ComplexTypeScenarios_RootNs_FullTypeNames.g",
                types, "VB", Enumerable.Empty<string>(), "RootNamespaceName", true);

            TestHelper.ValidateCodeGen(options);
        }
コード例 #2
0
        public void TestClientCodegen_CompositionInheritanceScenarios()
        {
            Type[] types = new[]
            {
                typeof(TestDomainServices.CompositionInheritanceScenarios),
                typeof(TestDomainServices.AssociationInheritanceScenarios)
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"Default\Scenarios", "CG_Scenarios_CI", "CompositionInheritanceScenarios.g",
                types, string.Empty, Enumerable.Empty<string>(), false);

            TestHelper.ValidateCodeGen(options);
        }
コード例 #3
0
        public void TestClientCodegen_SharedEntities()
        {
            Type[] types = new[]
            {
                typeof(SharedEntities.ExposeChildEntityDomainService),
                typeof(SharedEntities.ExposeParentEntityDomainService)
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"Default\Scenarios", "CG_Scenarios_SharedEntities", "SharedEntities.g",
                types, string.Empty, Enumerable.Empty<string>(), false);

            TestHelper.ValidateCodeGen(options);
        }
コード例 #4
0
        public void TestClientCodeGen_SystemNamespace_FullNames()
        {
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("SystemNamespace.shared.cs"),
                TestHelper.GetTestFileName("SystemNamespace.shared.vb"),
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(
                @"FullTypeNames\Scenarios",
                "CG_SystemNamespace_Full",
                "SystemNamespace.g",
                new Type[] { typeof(System.SystemDomainService), typeof(System.Subsystem.SubsystemDomainService), typeof(SystemExtensions.SystemExtensionsDomainService) },
                /* language */ null,
                sharedFiles,
                /* rootNamespace */ string.Empty,
                /* useFullTypeNames */ true);

            options.AddSharedType(typeof(System.SystemNamespaceAttribute));
            options.AddSharedType(typeof(System.Subsystem.SubsystemNamespaceAttribute));
            options.AddSharedType(typeof(System.SystemEnum));
            options.AddSharedType(typeof(System.Subsystem.SubsystemEnum));
            options.AddSharedType(typeof(SystemExtensions.SystemExtensionsNamespaceAttribute));
            options.AddSharedType(typeof(SystemExtensions.SystemExtensionsEnum));

            TestHelper.ValidateCodeGen(options);
        }
コード例 #5
0
        public void TestClientCodeGen_GlobalNamespace_NoRootNamespace_FullNames()
        {
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("Global.shared.cs"),
                TestHelper.GetTestFileName("Global.shared.vb"),
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(
                @"FullTypeNames\Scenarios",
                "CG_Global_Full",
                "GlobalNamespace_NoRootNamespace.g",
                new Type[] { typeof(GlobalNamespaceTest.GlobalNamespaceTest_DomainService) },
                /* language */ null,
                sharedFiles,
                /* rootNamespace */ string.Empty,
                /* useFullTypeNames */ true);

            options.AddSharedType(typeof(GlobalNamespaceTest_Attribute));
            options.AddSharedType(typeof(GlobalNamespaceTest_Enum));
            options.AddSharedType(typeof(GlobalNamespaceTest_Validation));
            options.AddSharedType(typeof(GlobalNamespaceTest_ValidationAttribute));
            options.AddSharedMethod(typeof(GlobalNamespaceTest_Validation).GetMethod("Validate"));

            TestHelper.ValidateCodeGen(options);
        }
コード例 #6
0
        public void TestClientCodeGen_GlobalNamespace()
        {
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("Global.shared.cs"),
                TestHelper.GetTestFileName("Global.shared.vb"),
            };

            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(
                @"Default\Scenarios",
                "CG_Global",
                "GlobalNamespace.g",
                typeof(GlobalNamespaceTest.GlobalNamespaceTest_DomainService),
                sharedFiles,
                /* useFullTypeNames */ false);

            options.AddSharedType(typeof(GlobalNamespaceTest_Attribute));
            options.AddSharedType(typeof(GlobalNamespaceTest_Enum));
            options.AddSharedType(typeof(GlobalNamespaceTest_Validation));
            options.AddSharedType(typeof(GlobalNamespaceTest_ValidationAttribute));
            options.AddSharedMethod(typeof(GlobalNamespaceTest_Validation).GetMethod("Validate"));

            TestHelper.ValidateCodeGen(options);
        }
コード例 #7
0
        public void TestCityClientProxies()
        {
            string[] sharedFiles = new string[] { 
                TestHelper.GetTestFileName("Cities.shared.cs"),
                TestHelper.GetTestFileName("Cities.shared.vb")
            };

            // Default
            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"Default\Cities", "CG_Cities", "Cities.g", typeof(CityDomainService), sharedFiles, false);
            options.AddSharedType(typeof(Cities.TimeZone));
            TestHelper.ValidateCodeGen(options);
        }
コード例 #8
0
        public void TestClientCodegen_Scenarios_FullTypes()
        {
            Type[] types = new[]
            {
                typeof(TestDomainServices.TestProvider_Scenarios),
                typeof(TestDomainServices.NamedUpdates.NamedUpdate_CustomOnly),
                typeof(TestDomainServices.NamedUpdates.NamedUpdate_CustomAndUpdate),
                typeof(TestDomainServices.NamedUpdates.NamedUpdate_CustomValidation),
                typeof(TestDomainServices.NamedUpdates.CalculatorDomainService),
            };
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("Mock.shared.cs"),
                TestHelper.GetTestFileName("Mock.shared.vb"),
                TestHelper.GetTestFileName("Test.shared.cs"),
                TestHelper.GetTestFileName("Test.shared.vb"),
            };

            // Full types
            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"FullTypeNames\Scenarios", "CG_Scenarios_FullTypes_2", "TestProvider_Scenarios.g",
                types, string.Empty, sharedFiles, true);
            // Simulate that this attribute is shared to cause code gen to propagate it
            options.AddSharedType(typeof(CustomNamespace.CustomAttribute));
            options.AddSharedType(typeof(TestEnum));
            options.AddSharedType(typeof(System.Xml.Linq.XElement));

            TestHelper.ValidateCodeGen(options);
        }
コード例 #9
0
        public void TestClientCodegen_Scenarios_CodeGen_FullTypes()
        {
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("Mock.shared.cs"),
                TestHelper.GetTestFileName("Mock.shared.vb")
            };

            // Full types
            var options = new TestHelper.CodeGenValidationOptions(@"FullTypeNames\Scenarios", "CG_Scenarios_FullTypes_1", "TestProvider_Scenarios_CodeGen.g",
                typeof(TestDomainServices.TestProvider_Scenarios_CodeGen), sharedFiles, true);
            // Simulate that this attribute is shared to cause code gen to propagate it
            options.AddSharedType(typeof(CustomNamespace.CustomAttribute));
            options.AddSharedType(typeof(TestEnum));
            TestHelper.ValidateCodeGen(options);
        }
コード例 #10
0
        public void TestClientCodegen_InterfaceInheritanceScenarios()
        {
            string[] sharedFiles = new string[]
            {
                TestHelper.GetTestFileName("Mock.shared.cs"),
                TestHelper.GetTestFileName("Mock.shared.vb")
            };

            // Default
            TestHelper.CodeGenValidationOptions options = new TestHelper.CodeGenValidationOptions(@"Default\Scenarios", "CG_Scenarios_INTF", "InterfaceInheritance.g",
                typeof(TestDomainServices.InterfaceInheritanceDomainService), sharedFiles, false);
            options.AddSharedType(typeof(System.Xml.Linq.XElement));
            TestHelper.ValidateCodeGen(options);
        }