public void DictionaryLibrarySetToInTest()
        {
            var lib = new DictionaryLibrary
            {
                MyFitNessePage = new FitNessePageMock(string.Empty),
                PageRoot       = TestPageRoot
            };

            lib.SetTo("key1", "value1");
            Assert.AreEqual("value1", lib.Get("key1"));
            lib.SetTo("key1", "value2");
            Assert.AreEqual("value2", lib.Get("key1"));
        }
        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 DictionaryLibraryConstructorTest()
        {
            var simpleList = new Dictionary <string, string>
            {
                { "1", "a" },
                { "2", "b" },
                { "3", "c" }
            };

            var lib = new DictionaryLibrary(simpleList);

            Assert.AreEqual(3, lib.Count);
            Assert.AreEqual("a", lib.Get("1"));
        }