public void AddMissingDependency_MissingMemberOfSupportedType_TypeIsNotMarkedMissing() { var targets = TargetPlatforms(2); var type = new MemberInfo { MemberDocId = "T:Spam.Spam", IsSupportedAcrossTargets = true, TargetStatus = targets.Select(t => new Version(t.Version.ToString())).ToList() }; var missingMember = MissingMember(type.MemberDocId, "Eggs"); missingMember.TargetStatus = new List<Version> { new Version("1.0"), null }; var reportingResult = new ReportingResult(targets, new List<MemberInfo>() { type }, Guid.NewGuid().ToString(), AnalyzeRequestFlags.None); reportingResult.AddMissingDependency(null, missingMember, "Add more spam."); var typeIsMarkedMissing = reportingResult.GetMissingTypes() .First(t => string.Equals(t.TypeName, type.MemberDocId, StringComparison.Ordinal)) .IsMissing; Assert.False(typeIsMarkedMissing); }
public CciMetadataTraverser(ReportingResult analysis, PdbReader pdbReader) { _analysis = analysis; _pdbReader = pdbReader; var missingMembers = from type in analysis.GetMissingTypes() from member in type.MissingMembers select member; _interestingMethods = missingMembers .ToDictionary(m => m.MemberName, m => m); _interestingTypes = analysis.GetMissingTypes() .Where(type => type.IsMissing) .ToDictionary(t => t.DocId, t => t); }
public void AddMissingDependency_MemberOfUnidentifiedType_TypeAddedToMissingTypes() { var targets = TargetPlatforms(2); var typeDocId = "T:Spam.Spam"; var missingMember = MissingMember(typeDocId, "Eggs"); missingMember.TargetStatus = new List<Version> { new Version("1.0"), null }; var reportingResult = new ReportingResult(targets, new List<MemberInfo>(), Guid.NewGuid().ToString(), AnalyzeRequestFlags.None); reportingResult.AddMissingDependency(null, missingMember, "Add more spam."); var typeWasAdded = reportingResult.GetMissingTypes().Any(t => string.Equals(t.DocId, typeDocId, StringComparison.Ordinal)); Assert.True(typeWasAdded); }
public void AddMissingDependency_MemberOfUnidentifiedType_TypeInheritsMemberTargetStatus() { var targets = TargetPlatforms(2); var typeDocId = "T:Spam.Spam"; var missingMember = MissingMember(typeDocId, "Eggs"); missingMember.TargetStatus = new List<Version> { new Version("1.0"), null }; var reportingResult = new ReportingResult(targets, new List<MemberInfo>(), Guid.NewGuid().ToString(), AnalyzeRequestFlags.None); reportingResult.AddMissingDependency(null, missingMember, "Add more spam."); var type = reportingResult.GetMissingTypes() .First(t => string.Equals(t.TypeName, typeDocId, StringComparison.Ordinal)); Assert.True(missingMember.TargetStatus.Count == type.TargetVersionStatus.Count() && missingMember.TargetStatus.All(v => type.TargetVersionStatus.Contains(v))); }