public void DictionaryLibrarySaveToPageTest() { const string tableName = "replace"; const string pageContent = "comments\n\n" + "!| Dictionary | not ok |\n| Key | Value |\n| key1 | value 1 |\n| key2 | value 2 |\n| key3 | value 3 |\n\nmore comments\n\n" + "!| Dictionary | replace |\n| Key | Value |\n| key4 | value 4 |\n| key5 | value 5 |\n| key6 | value 6 |\n\n yet more comments\n\n" + "!| Dictionary | not ok 2 |\n| Key | Value |\n| 7 | 8 |\n\nand even more comments\n"; var saver = new DictionaryLibrary { MyFitNessePage = new FitNessePageMock(pageContent), PageRoot = TestPageRoot }; saver.AddValue("key9", "value 9"); saver.AddValue("key10", "value 10"); saver.AddValue("key11", "value 11"); saver.SaveTableToPage(tableName, PageName); var expected = PageDataRequest + DeletePageRequest + AddChildPartialRequest + "comments\n\n" + "!| Dictionary | not ok |\n| Key | Value |\n| key1 | value 1 |\n| key2 | value 2 |\n| key3 | value 3 |\n\nmore comments\n\n" + DictionaryHeader(tableName) + "|key9|value 9|\n|key10|value 10|\n|key11|value 11|\n\n yet more comments\n\n" + "!| Dictionary | not ok 2 |\n| Key | Value |\n| 7 | 8 |\n\nand even more comments\n" + FitNessePageTest.UriSeparator; Assert.AreEqual(expected, (saver.MyFitNessePage as FitNessePageMock)?.UsedUri); }
public void DictionaryLibraryLoadSave() { const string defaultFileName = "DictionaryStore.json"; Assert.IsFalse(File.Exists(defaultFileName), "File does not exist at start"); var saver = new DictionaryLibrary(); Assert.AreEqual(0, saver.Count); saver.AddValue("key2", "value 2"); saver.AddValue("key1", "value 1"); saver.AddValue("key3", "value 3"); Assert.AreEqual(3, saver.Count); Assert.IsFalse(File.Exists(defaultFileName), "File does not exist before saving"); Assert.IsFalse(saver.DeleteFile(defaultFileName)); saver.FileName = string.Empty; saver.SaveFile(defaultFileName); Assert.AreEqual(defaultFileName, saver.FileName, "SaveFile sets file name"); Assert.IsTrue(File.Exists(defaultFileName), "File exists after saving"); var loader = new DictionaryLibrary { FileName = string.Empty }; Assert.AreEqual(0, loader.Count, "Loader is empty before loading"); Assert.IsTrue(loader.LoadFile(defaultFileName), "Loading after saving succeeds"); Assert.AreEqual(defaultFileName, loader.FileName, "LoadFile sets file name"); Assert.AreEqual(3, loader.Count); Assert.AreEqual("value 1", loader.Get("key1")); Assert.AreEqual("value 2", loader.Get("key2")); Assert.AreEqual("value 3", loader.Get("key3")); loader.AddValue("key4", "value 4"); loader.Remove("key3"); loader.SaveFile(); loader.Clear(); Assert.IsTrue(loader.LoadFile(), "Can load"); Assert.AreEqual("value 4", loader.Get("key4")); Assert.IsNull(loader.Get("key3"), "Key 3 no longer there"); Assert.IsTrue(loader.DeleteFile(), "File deleted"); Assert.IsFalse(File.Exists(defaultFileName), "File does not exist after deleting"); try { loader.LoadFile(); } catch (Exception) { Assert.AreEqual(3, loader.Count, "original entries stay intact after failed load"); return; } Assert.Fail("No exception thrown after loading deleted file"); }
public void DictionaryLibraryNewPageTest() { const string tableName = "TestTable"; var lib = new DictionaryLibrary { MyFitNessePage = new FitNessePageMock(null), PageRoot = TestPageRoot }; lib.AddValue("key", "value"); lib.SaveTableToPage(tableName, PageName); var expected = PageDataRequest + AddChildPartialRequest + DictionaryHeader(tableName) + "|key|value|\n" + FitNessePageTest.UriSeparator; Assert.AreEqual(expected, (lib.MyFitNessePage as FitNessePageMock)?.UsedUri); }