Beispiel #1
0
        private CodeMemberMethod GenerateTestFixtureSetup(CodeTypeDeclaration testType, Feature feature)
        {
            CodeMemberMethod setupMethod = new CodeMemberMethod();

            testType.Members.Add(setupMethod);

            setupMethod.Attributes = MemberAttributes.Public;
            setupMethod.Name       = FIXTURESETUP_NAME;

            testGeneratorProvider.SetTestFixtureSetup(setupMethod);

            //testRunner = TestRunner.GetTestRunner();
            var testRunnerField = GetTestRunnerExpression();

            setupMethod.Statements.Add(
                new CodeAssignStatement(
                    testRunnerField,
                    new CodeMethodInvokeExpression(
                        new CodeTypeReferenceExpression(TESTRUNNERMANAGER_TYPE),
                        "GetTestRunner")));

            //FeatureInfo featureInfo = new FeatureInfo("xxxx");
            setupMethod.Statements.Add(
                new CodeVariableDeclarationStatement(FEATUREINFO_TYPE, "featureInfo",
                                                     new CodeObjectCreateExpression(FEATUREINFO_TYPE,
                                                                                    new CodeObjectCreateExpression(typeof(CultureInfo),
                                                                                                                   new CodePrimitiveExpression(feature.Language)),
                                                                                    new CodePrimitiveExpression(feature.Title),
                                                                                    new CodePrimitiveExpression(feature.Description),
                                                                                    new CodeFieldReferenceExpression(
                                                                                        new CodeTypeReferenceExpression("GenerationTargetLanguage"),
                                                                                        codeDomHelper.TargetLanguage.ToString()),
                                                                                    GetStringArrayExpression(feature.Tags))));

            //testRunner.OnFeatureStart(featureInfo);
            setupMethod.Statements.Add(
                new CodeMethodInvokeExpression(
                    testRunnerField,
                    "OnFeatureStart",
                    new CodeVariableReferenceExpression("featureInfo")));

            return(setupMethod);
        }