Exemplo n.º 1
0
        public static void GetBreakingChange_FirstMatchingRecommendation()
        {
            var breakingChanges = new Dictionary <string, IEnumerable <BreakingChange> >(StringComparer.Ordinal)
            {
                { "Property:Foo", new[] { new BreakingChange {
                                              Id = "5"
                                          }, new BreakingChange {
                                              Id = "7"
                                          } } },
                { "Class:FooTest", new[] { new BreakingChange {
                                               Id = "6"
                                           }, new BreakingChange {
                                               Id = "2"
                                           } } },
                { "Namespace:MyTestNamespace", new[] { new BreakingChange {
                                                           Id = "8"
                                                       }, new BreakingChange {
                                                           Id = "17"
                                                       } } }
            };
            var expected  = breakingChanges.First();
            var ancestors = breakingChanges.Keys.ToArray();

            var catalog         = Substitute.For <IApiCatalogLookup>();
            var recommendations = BreakingChangeRecommendationsMock.Create(catalog, breakingChanges);

            catalog.GetAncestors(expected.Key).Returns(ancestors);

            var actual = recommendations.GetBreakingChanges(expected.Key);

            Assert.Equal(expected.Value, actual);
        }
Exemplo n.º 2
0
        public static void GetBreakingChange_Parent()
        {
            var docId = "Property:Foo";
            var matchingParentDocId = "Class:Test";
            var ancestors           = new[] { matchingParentDocId, "Namespace:MyTestNamespace" };
            var expected            = new[] { new BreakingChange {
                                                  Id = "5"
                                              }, new BreakingChange {
                                                  Id = "7"
                                              } };
            var breakingChanges = new Dictionary <string, IEnumerable <BreakingChange> >(StringComparer.Ordinal)
            {
                { docId, null },
                { matchingParentDocId, expected }
            };
            var catalog         = Substitute.For <IApiCatalogLookup>();
            var recommendations = BreakingChangeRecommendationsMock.Create(catalog, breakingChanges);

            catalog.GetAncestors(docId).Returns(ancestors);

            var actual = recommendations.GetBreakingChanges(docId);

            Assert.Equal(expected, actual);

            catalog.Received(1).GetAncestors(docId);
        }
Exemplo n.º 3
0
        public static void GetBreakingChange_NoAncestors()
        {
            var docId     = "Namespace:MyTestNamespace";
            var ancestors = new string[0];

            var catalog         = Substitute.For <IApiCatalogLookup>();
            var recommendations = BreakingChangeRecommendationsMock.Create(catalog);

            catalog.GetAncestors(docId).Returns(ancestors);

            var actual = recommendations.GetBreakingChanges(docId);

            Assert.Empty(actual);

            catalog.Received(1).GetAncestors(docId);
        }
Exemplo n.º 4
0
        public static void GetBreakingChange_DoesNotExist()
        {
            var docId     = "Property:Foo";
            var ancestors = new[] { "Class:Test", "Namespace:MyTestNamespace" };

            var catalog         = Substitute.For <IApiCatalogLookup>();
            var recommendations = BreakingChangeRecommendationsMock.Create(catalog);

            catalog.GetAncestors(docId).Returns(ancestors);

            var actual = recommendations.GetBreakingChanges(docId);

            Assert.Empty(actual);

            catalog.Received(1).GetAncestors(docId);
        }