示例#1
0
        private UnitTestElements LinkedTypeUnitTestsDataRule(IDataContext context)
        {
            var linkedTypes   = LinkedTypesUtil.GetLinkedTypes(context);
            var relevantTests = linkedTypes.Select(x => _unitTestElementStuff.GetElement(x)).WhereNotNull();

            return(new UnitTestElements(new TestAncestorCriterion(relevantTests)));
        }
示例#2
0
        private IEnumerable <IDeclaredElement> GetRelatedTypesWithDerivedName(IDeclaredElement declaredElement)
        {
            var typeElement = declaredElement as ITypeElement;

            if (typeElement == null)
            {
                return(Enumerable.Empty <IDeclaredElement>());
            }

            // TODO get linked types by name
            var linkedTypes = LinkedTypesUtil.GetLinkedTypes(typeElement);

            return(linkedTypes.Where(x => typeElement.ShortName.Contains(x.ShortName) || x.ShortName.Contains(typeElement.ShortName)));
        }
        public override ICollection <IOccurrence> Search(IProgressIndicator progressIndicator)
        {
            if (!_typeElement.IsValid())
            {
                return(EmptyList <IOccurrence> .InstanceList);
            }

            var linkedTypes = LinkedTypesUtil.GetLinkedTypes(_typeElement);

            if (linkedTypes.Count == 0)
            {
                ModificationUtility.TryCreateTestOrProductionClass(_typeElement, _textControl);
            }

            bool IsDerivedName(ITypeElement typeElement) =>
            _typeElement.ShortName.Contains(typeElement.ShortName) ||
            typeElement.ShortName.Contains(_typeElement.ShortName);

            return(linkedTypes
                   .Select(x => new LinkedTypesOccurrence(x, OccurrenceType.Occurrence, IsDerivedName(x)))
                   .Where(x => !_derivedNamesOnly || x.HasNameDerived)
                   .ToArray());
        }