public void FindMembersNotInTargets_2() { // No member information passed through. var testData = new Dictionary <MemberInfo, ICollection <AssemblyInfo> >(); var targets = new List <FrameworkName>() { new FrameworkName("Windows Phone, version=8.1") }; var catalog = Substitute.For <IApiCatalogLookup>(); GenerateTestData(catalog); var recommendations = Substitute.For <IApiRecommendations>(); var engine = new AnalysisEngine(catalog, recommendations); var notInTarget = engine.FindMembersNotInTargets(targets, Array.Empty <string>(), testData); Assert.Equal(0, notInTarget.Count); }
public void FindMembersNotInTargetsWithSuppliedAssembly() { var testData = new Dictionary <MemberInfo, ICollection <AssemblyInfo> >(); var userAsm1 = new AssemblyInfo() { AssemblyIdentity = "userAsm1, Version=1.0.0.0", FileVersion = "1.0.0.0" }; var userAsm2 = new AssemblyInfo() { AssemblyIdentity = "userAsm2, Version=2.0.0.0", FileVersion = "2.0.0.0" }; var userAsm3 = new AssemblyInfo() { AssemblyIdentity = "userAsm3, Version=3.0.0.0", FileVersion = "3.0.0.0" }; var mi1 = new MemberInfo() { DefinedInAssemblyIdentity = "System.Drawing, Version=1.0.136.0, PublicKeyToken=b03f5f7f11d50a3a", MemberDocId = "T:System.Drawing.Color" }; var mi2 = new MemberInfo() { DefinedInAssemblyIdentity = "System.Data, Version=1.0.136.0, PublicKeyToken=b77a5c561934e089", MemberDocId = "T:System.Data.SqlTypes.SqlBoolean" }; var mi3 = new MemberInfo() { DefinedInAssemblyIdentity = "userAsm1, Version=1.0.0.0", MemberDocId = "T:MyType" }; var usedIn1 = new HashSet <AssemblyInfo>() { userAsm1, userAsm2 }; testData.Add(mi1, usedIn1); var usedIn2 = new HashSet <AssemblyInfo>() { userAsm2, userAsm3 }; testData.Add(mi2, usedIn2); testData.Add(mi3, usedIn2); var targets = new List <FrameworkName>() { new FrameworkName("Windows Phone, version=8.1") }; var catalog = Substitute.For <IApiCatalogLookup>(); catalog.IsFrameworkAssembly(GetAssemblyIdentityWithoutCultureAndVersion(mi1.DefinedInAssemblyIdentity)).Returns(true); catalog.IsFrameworkAssembly(GetAssemblyIdentityWithoutCultureAndVersion(mi2.DefinedInAssemblyIdentity)).Returns(true); catalog.IsFrameworkMember(mi1.MemberDocId).Returns(true); catalog.IsFrameworkMember(mi2.MemberDocId).Returns(true); var recommendations = Substitute.For <IApiRecommendations>(); var engine = new AnalysisEngine(catalog, recommendations); var notInTarget = engine.FindMembersNotInTargets(targets, new[] { mi1.DefinedInAssemblyIdentity }, testData); Assert.Equal(1, notInTarget.Count); }
public void FindMembersNotInTargets_AllNull() { var engine = new AnalysisEngine(null, null); engine.FindMembersNotInTargets(null, null, null); }
public void FindMembersNotInTargets_2() { // No member information passed through. var testData = new Dictionary<MemberInfo, ICollection<AssemblyInfo>>(); var targets = new List<FrameworkName>() { new FrameworkName("Windows Phone, version=8.1") }; var catalog = Substitute.For<IApiCatalogLookup>(); GenerateTestData(catalog); var recommendations = Substitute.For<IApiRecommendations>(); var engine = new AnalysisEngine(catalog, recommendations); var notInTarget = engine.FindMembersNotInTargets(targets, Array.Empty<string>(), testData); Assert.Equal(0, notInTarget.Count); }
public void FindMembersNotInTargetsWithSuppliedAssembly() { var testData = new Dictionary<MemberInfo, ICollection<AssemblyInfo>>(); var userAsm1 = new AssemblyInfo() { AssemblyIdentity = "userAsm1, Version=1.0.0.0", FileVersion = "1.0.0.0" }; var userAsm2 = new AssemblyInfo() { AssemblyIdentity = "userAsm2, Version=2.0.0.0", FileVersion = "2.0.0.0" }; var userAsm3 = new AssemblyInfo() { AssemblyIdentity = "userAsm3, Version=3.0.0.0", FileVersion = "3.0.0.0" }; var mi1 = new MemberInfo() { DefinedInAssemblyIdentity = "System.Drawing, Version=1.0.136.0, PublicKeyToken=b03f5f7f11d50a3a", MemberDocId = "T:System.Drawing.Color" }; var mi2 = new MemberInfo() { DefinedInAssemblyIdentity = "System.Data, Version=1.0.136.0, PublicKeyToken=b77a5c561934e089", MemberDocId = "T:System.Data.SqlTypes.SqlBoolean" }; var mi3 = new MemberInfo() { DefinedInAssemblyIdentity = "userAsm1, Version=1.0.0.0", MemberDocId = "T:MyType" }; var usedIn1 = new HashSet<AssemblyInfo>() { userAsm1, userAsm2 }; testData.Add(mi1, usedIn1); var usedIn2 = new HashSet<AssemblyInfo>() { userAsm2, userAsm3 }; testData.Add(mi2, usedIn2); testData.Add(mi3, usedIn2); var targets = new List<FrameworkName>() { new FrameworkName("Windows Phone, version=8.1") }; var catalog = Substitute.For<IApiCatalogLookup>(); catalog.IsFrameworkAssembly(GetAssemblyIdentityWithoutCultureAndVersion(mi1.DefinedInAssemblyIdentity)).Returns(true); catalog.IsFrameworkAssembly(GetAssemblyIdentityWithoutCultureAndVersion(mi2.DefinedInAssemblyIdentity)).Returns(true); catalog.IsFrameworkMember(mi1.MemberDocId).Returns(true); catalog.IsFrameworkMember(mi2.MemberDocId).Returns(true); var recommendations = Substitute.For<IApiRecommendations>(); var engine = new AnalysisEngine(catalog, recommendations); var notInTarget = engine.FindMembersNotInTargets(targets, new[] { mi1.DefinedInAssemblyIdentity }, testData); Assert.Equal(1, notInTarget.Count); }