public void TestShowingMoreRealisticCollectionExpectations()
        {
            // Arrange.
            int count = 4;
            using (new SharePointEmulationScope())
            {
                ShimSPWeb web = new ShimSPWeb();
                ShimSPWebCollection webCollection = new ShimSPWebCollection();
                webCollection.CountGet = () => count;
                web.WebsGet = () => webCollection;
                ShimSPSite.ConstructorString = (instance, url) =>
                    {
                        ShimSPSite site = new ShimSPSite(instance);
                        site.Dispose = () => { };
                        site.OpenWeb = () => web;
                    };
                WebSiteManager manager = new WebSiteManager("http://test");

                // Act.
                int resultCount = manager.GetNumberOfSubSites();

                // Assert.
                Assert.AreEqual(count, resultCount);
            }
        }
        public void TestWhenNoSubwebsDefinedShouldReturnZeroSubSites()
        {
            // Arrange.
            using (new SharePointEmulationScope())
            {
                ShimSPWeb web = new ShimSPWeb();
                web.WebsGet = () => new Microsoft.SharePoint.Fakes.ShimSPWebCollection() {CountGet = () => 0};
                ShimSPSite.ConstructorString = (instance, url) =>
                    {
                        ShimSPSite site = new ShimSPSite(instance);
                        site.Dispose = () => { };
                        site.OpenWeb = () => web;
                    };
                WebSiteManager manager = new WebSiteManager("http://test");

                // Act.
                int number = manager.GetNumberOfSubSites();

                // Assert.
                Assert.AreEqual(0, number);
            }
        }