public void SetTestMethodCategories(TestClassGenerationContext generationContext, CodeMemberMethod testMethod,
                                            IEnumerable <string> scenarioCategories)
        {
            _unitTestGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, scenarioCategories);

            UpdateAttributes(testMethod);
        }
        private void SetupTestMethod(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, ScenarioDefinition scenarioDefinition, IEnumerable <Tag> additionalTags, string variantName, string exampleSetIdentifier, bool rowTest = false)
        {
            testMethod.Attributes = MemberAttributes.Public;
            testMethod.Name       = GetTestMethodName(scenarioDefinition, variantName, exampleSetIdentifier);
            var friendlyTestName = scenarioDefinition.Name;

            if (variantName != null)
            {
                friendlyTestName = string.Format("{0}: {1}", scenarioDefinition.Name, variantName);
            }

            if (rowTest)
            {
                testGeneratorProvider.SetRowTest(generationContext, testMethod, friendlyTestName);
            }
            else
            {
                testGeneratorProvider.SetTestMethod(generationContext, testMethod, friendlyTestName);
            }

            List <string> scenarioCategories;

            decoratorRegistry.DecorateTestMethod(generationContext, testMethod, ConcatTags(scenarioDefinition.GetTags(), additionalTags), out scenarioCategories);

            if (scenarioCategories.Any())
            {
                testGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, scenarioCategories);
            }
        }
Beispiel #3
0
        private void SetupTestMethod(
            TestClassGenerationContext generationContext,
            CodeMemberMethod testMethod,
            StepsContainer scenarioDefinition,
            IEnumerable <Tag> additionalTags,
            string variantName,
            string exampleSetIdentifier,
            bool rowTest = false)
        {
            testMethod.Attributes = MemberAttributes.Public;
            testMethod.Name       = GetTestMethodName(scenarioDefinition, variantName, exampleSetIdentifier);
            var friendlyTestName = scenarioDefinition.Name;

            if (variantName != null)
            {
                friendlyTestName = $"{scenarioDefinition.Name}: {variantName}";
            }

            if (rowTest)
            {
                _unitTestGeneratorProvider.SetRowTest(generationContext, testMethod, friendlyTestName, scenarioDefinition.Description);
            }
            else
            {
                _unitTestGeneratorProvider.SetTestMethod(generationContext, testMethod, friendlyTestName, scenarioDefinition.Description);
            }

            _decoratorRegistry.DecorateTestMethod(generationContext, testMethod, ConcatTags(scenarioDefinition.GetTags(), additionalTags), out var scenarioCategories);

            if (scenarioCategories.Any())
            {
                _unitTestGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, scenarioCategories);
            }
        }
Beispiel #4
0
        private void SetupTestMethod(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, StepsContainer scenarioDefinition, IEnumerable <Tag> additionalTags, string variantName, string exampleSetIdentifier, bool rowTest = false)
        {
            testMethod.Attributes = MemberAttributes.Public;
            testMethod.Name       = GetTestMethodName(scenarioDefinition, variantName, exampleSetIdentifier);
            var str = scenarioDefinition.Name;

            if (variantName != null)
            {
                if (variantName.IndexOf("_") == 0)
                {
                    variantName = variantName.Remove(0, 1);
                }                                                                              //NEW CODE
                str = $"{scenarioDefinition.Name}: {variantName}";
            }
            if (rowTest)
            {
                _testGeneratorProvider.SetRowTest(generationContext, testMethod, str);
            }
            else
            {
                _testGeneratorProvider.SetTestMethod(generationContext, testMethod, str);
            }
            _decoratorRegistry.DecorateTestMethod(generationContext, testMethod, scenarioDefinition.GetTags().ConcatTags(additionalTags).ConcatTags(_featureVariantTags), out List <string> unprocessedTags);

            if (!unprocessedTags.Any())
            {
                return;
            }

            _testGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, unprocessedTags);
        }
 private void SetCategoriesFromTags(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, Tags tags)
 {
     testGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, GetNonIgnoreTags(tags));
     if (HasIgnoreTag(tags))
     {
         testGeneratorProvider.SetTestMethodIgnore(generationContext, testMethod);
     }
 }
        public void SetTestMethodCategories(TestClassGenerationContext generationContext, CodeMemberMethod testMethod,
                                            IEnumerable <string> scenarioCategories)
        {
            var nonNCrunchCategories = scenarioCategories.Where(category => !IsNCrunchAttributeIdentifier(category)).ToList();

            baseGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, nonNCrunchCategories);
            foreach (string nCrunchCategories in scenarioCategories.Where(IsNCrunchAttributeIdentifier))
            {
                string[] specFlowAttributeSplit     = nCrunchCategories.Split(':');
                string   nCrunchAttributeIdentifier = specFlowAttributeSplit.First();
                var      nCrunchAttributeParameters = specFlowAttributeSplit.Last();

                AddNcrunchAttributes(testMethod, nCrunchAttributeIdentifier, nCrunchAttributeParameters.Split(',').ToArray());
            }
        }
Beispiel #7
0
        public void SetTestMethodCategories(TestClassGenerationContext generationContext, CodeMemberMethod testMethod,
                                            IEnumerable <string> scenarioCategories)
        {
            baseGeneratorProvider.SetTestMethodCategories(generationContext, testMethod,
                                                          scenarioCategories.Where(category => !category.StartsWith(NCrunchAttributePrefix)));
            foreach (string nCrunchCategories in scenarioCategories.Where(c => c.StartsWith(NCrunchAttributePrefix)))
            {
                string[] split = nCrunchCategories.Split('_');

                string nCrunchAttributeIdentifier = split.First();

                if (nCrunchAttributeIdentifier == NCrunchExclusivelyUses)
                {
                    string nCrunchAttributeValue = split.Last();
                    codeDomHelper.AddAttribute(testMethod, NCrunchExclusivelyUses, nCrunchAttributeValue);
                }
            }
        }
Beispiel #8
0
        private void SetupTestMethod(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, Scenario scenario, Tags additionalTags, bool rowTest = false)
        {
            testMethod.Attributes = MemberAttributes.Public;
            testMethod.Name       = string.Format(TEST_NAME_FORMAT, scenario.Title.ToIdentifier());

            if (rowTest)
            {
                testGeneratorProvider.SetRowTest(generationContext, testMethod, scenario.Title);
            }
            else
            {
                testGeneratorProvider.SetTestMethod(generationContext, testMethod, scenario.Title);
            }

            List <string> scenarioCategories;

            decoratorRegistry.DecorateTestMethod(generationContext, testMethod, ConcatTags(scenario.Tags, additionalTags), out scenarioCategories);

            if (scenarioCategories.Any())
            {
                testGeneratorProvider.SetTestMethodCategories(generationContext, testMethod, scenarioCategories);
            }
        }
 public void SetTestMethodCategories(TestClassGenerationContext generationContext, CodeMemberMethod testMethod, IEnumerable <string> scenarioCategories)
 {
     _innerGenerator.SetTestMethodCategories(generationContext, testMethod, scenarioCategories);
 }