コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public void FindMembersNotInTargets_AllNull()
        {
            var engine = new AnalysisEngine(null, null);

            engine.FindMembersNotInTargets(null, null, null);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        public void FindMembersNotInTargets_AllNull()
        {
            var engine = new AnalysisEngine(null, null);

            engine.FindMembersNotInTargets(null, null, null);
        }