コード例 #1
0
        public static void GetRecommendedChange_FirstMatchingRecommendation()
        {
            var recommendedChanges = new[]
            {
                new { DocId = "Property:Foo", Change = "This is the first recommendation!" },
                new { DocId = "Class:FooTest", Change = "This is the second recommendation!" },
                new { DocId = "Namespace:MyTestNamespace", Change = "This is the 3rd recommendation!" }
            };
            var expected = recommendedChanges[0];

            var ancestors = recommendedChanges.Select(r => r.DocId).ToArray();

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

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

            foreach (var item in recommendedChanges)
            {
                catalog.GetRecommendedChange(item.DocId).Returns(item.Change);
            }

            var actual = recommendations.GetRecommendedChanges(expected.DocId);

            Assert.Equal(expected.Change, actual);
        }
コード例 #2
0
        public static void GetRecommendedChange_DoesNotExist()
        {
            var docId     = "Property:Foo";
            var ancestors = new[] { "Class:Test", "Namespace:MyTestNamespace" };

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

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

            var actual = recommendations.GetRecommendedChanges(docId);

            Assert.Equal(DefaultRecommendedAction, actual);

            catalog.Received(1).GetAncestors(docId);
        }
コード例 #3
0
        public static void GetRecommendedChange_NoAncestors()
        {
            var docId     = "Namespace:MyTestNamespace";
            var ancestors = new string[0];

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

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

            var actual = recommendations.GetRecommendedChanges(docId);

            Assert.Equal(DefaultRecommendedAction, actual);

            catalog.Received(1).GetAncestors(docId);
        }
コード例 #4
0
        public static void GetRecommendedChange_Parent()
        {
            var docId = "Property:Foo";
            var matchingParentDocId = "Class:Test";
            var ancestors           = new[] { matchingParentDocId, "Namespace:MyTestNamespace" };
            var expectedAction      = "This is the recommended action for Class:Test";

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

            catalog.GetAncestors(docId).Returns(ancestors);
            catalog.GetRecommendedChange(matchingParentDocId).Returns(expectedAction);

            var actual = recommendations.GetRecommendedChanges(docId);

            Assert.Equal(expectedAction, actual);

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