private TestCaseLocation ToTestCaseLocation(SourceFileLocation location)
        {
            var testCaseLocation = new TestCaseLocation(location.Symbol, location.Sourcefile, location.Line);

            testCaseLocation.Traits.AddRange(GetTraits(location));
            return(testCaseLocation);
        }
        private TestCaseLocation ToTestCaseLocation(SourceFileLocation location, IEnumerable <SourceFileLocation> allTraitSymbols)
        {
            List <Trait> traits           = GetTraits(location, allTraitSymbols);
            var          testCaseLocation = new TestCaseLocation(location.Symbol, location.Sourcefile, location.Line);

            testCaseLocation.Traits.AddRange(traits);
            return(testCaseLocation);
        }
        private bool IsMatch(SourceFileLocation sourceFileLocation, MethodSignature methodSignature)
        {
            string signature = methodSignature.Signature;

            bool generalCheck = methodSignature.IsRegex
                ? Regex.IsMatch(sourceFileLocation.Symbol, signature)
                : sourceFileLocation.Symbol.Contains(signature);

            return(generalCheck && Regex.IsMatch(sourceFileLocation.Symbol, GetPreciseRegex(signature)));
        }
Esempio n. 4
0
        public static List <Trait> GetTraits(SourceFileLocation nativeSymbol, IEnumerable <SourceFileLocation> allTraitSymbols)
        {
            var traits = new List <Trait>();

            // ReSharper disable once LoopCanBeConvertedToQuery
            foreach (SourceFileLocation nativeTraitSymbol in allTraitSymbols)
            {
                if (nativeSymbol.Symbol.StartsWith(nativeTraitSymbol.TestClassSignature))
                {
                    int      lengthOfSerializedTrait = nativeTraitSymbol.Symbol.Length - nativeTraitSymbol.IndexOfSerializedTrait - TraitAppendix.Length;
                    string   serializedTrait         = nativeTraitSymbol.Symbol.Substring(nativeTraitSymbol.IndexOfSerializedTrait, lengthOfSerializedTrait);
                    string[] data = serializedTrait.Split(new[] { TraitSeparator }, StringSplitOptions.None);
                    traits.Add(new Trait(data[0], data[1]));
                }
            }

            return(traits);
        }
        private List <Trait> GetTraits(SourceFileLocation nativeSymbol)
        {
            var traits = new List <Trait>();

            // ReSharper disable once LoopCanBeConvertedToQuery
            foreach (SourceFileLocation nativeTraitSymbol in _allTraitSymbols)
            {
                // TODO bring down to logarithmic complexity (binary search for finding a symbol, collect all matching symbols after and before)
                if (nativeSymbol.Symbol.StartsWith(nativeTraitSymbol.TestClassSignature))
                {
                    int      lengthOfSerializedTrait = nativeTraitSymbol.Symbol.Length - nativeTraitSymbol.IndexOfSerializedTrait - TraitAppendix.Length;
                    string   serializedTrait         = nativeTraitSymbol.Symbol.Substring(nativeTraitSymbol.IndexOfSerializedTrait, lengthOfSerializedTrait);
                    string[] data = serializedTrait.Split(new[] { TraitSeparator }, StringSplitOptions.None);
                    traits.Add(new Trait(data[0], data[1]));
                }
            }

            return(traits);
        }
        private List <Trait> GetTraits(SourceFileLocation nativeSymbol, IEnumerable <SourceFileLocation> allTraitSymbols)
        {
            var traits = new List <Trait>();

            // ReSharper disable once LoopCanBeConvertedToQuery
            foreach (SourceFileLocation nativeTraitSymbol in allTraitSymbols)
            {
                int    indexOfSerializedTrait = nativeTraitSymbol.Symbol.LastIndexOf("::", StringComparison.Ordinal) + "::".Length;
                string testClassSignature     = nativeTraitSymbol.Symbol.Substring(0, indexOfSerializedTrait - "::".Length);
                if (nativeSymbol.Symbol.StartsWith(testClassSignature))
                {
                    int      lengthOfSerializedTrait = nativeTraitSymbol.Symbol.Length - indexOfSerializedTrait - TraitAppendix.Length;
                    string   serializedTrait         = nativeTraitSymbol.Symbol.Substring(indexOfSerializedTrait, lengthOfSerializedTrait);
                    string[] data = serializedTrait.Split(new[] { TraitSeparator }, StringSplitOptions.None);
                    traits.Add(new Trait(data[0], data[1]));
                }
            }

            return(traits);
        }