public void UpdateOutgoingLinksForRename()
        {
            ISettingsStorageProviderV40 prov = GetProvider();

            prov.StoreOutgoingLinks("Page1", new string[] { "Page2", "OldPage" });
            prov.StoreOutgoingLinks("Page2", new string[] { "Page4", "Page5", "Page6" });
            prov.StoreOutgoingLinks("OldPage", new string[] { "Page2", "Page5" });

            Assert.IsFalse(prov.UpdateOutgoingLinksForRename("Inexistent", "NewName"), "UpdateOutgoingLinksForRename should return false");

            Assert.IsTrue(prov.UpdateOutgoingLinksForRename("OldPage", "Page3"), "UpdateOutgoingLinksForRename should return true");

            IDictionary <string, string[]> links = prov.GetAllOutgoingLinks();

            Assert.AreEqual(3, links.Count, "Wrong source page count");

            Assert.AreEqual(2, links["Page1"].Length, "Wrong link count");
            Array.Sort(links["Page1"]);
            Assert.AreEqual("Page2", links["Page1"][0], "Wrong link");
            Assert.AreEqual("Page3", links["Page1"][1], "Wrong link");

            Assert.AreEqual(3, links["Page2"].Length, "Wrong link count");
            Array.Sort(links["Page2"]);
            Assert.AreEqual("Page4", links["Page2"][0], "Wrong link");
            Assert.AreEqual("Page5", links["Page2"][1], "Wrong link");
            Assert.AreEqual("Page6", links["Page2"][2], "Wrong link");

            Assert.AreEqual(2, links["Page3"].Length, "Wrong link count");
            Array.Sort(links["Page3"]);
            Assert.AreEqual("Page2", links["Page3"][0], "Wrong link");
            Assert.AreEqual("Page5", links["Page3"][1], "Wrong link");
        }
        public void UpdateOutgoingLinksForRename_InvalidNewName(string n)
        {
            ISettingsStorageProviderV40 prov = GetProvider();

            prov.UpdateOutgoingLinksForRename("OldName", n);
        }