public void Hotload_ExistingFile() { // Preload a single file. CreateFile("derp.yaml", "key: value"); var fileSource = new FileSource(tempDirPath, hotload: true); fileSource.Preload(); Assert.AreEqual(1, fileSource.AllFiles.Count); Assert.IsTrue(fileSource.AllFiles.ContainsKey("derp")); // Modify the file. CreateFile("derp.yaml", "key: value2"); // Hotload the file. var changedFiles = new List <string>(); fileSource.Hotload(changedFiles); // Make sure the contents were updated. Assert.AreEqual(1, changedFiles.Count); Assert.AreEqual("derp", changedFiles[0]); Assert.IsTrue(fileSource.AllFiles.ContainsKey("derp")); var fileInfo = fileSource.AllFiles["derp"]; Assert.IsNotNull(fileInfo); Assert.AreEqual("derp", fileInfo.Name); Assert.AreEqual("value2", fileInfo.Parsed["key"].StringValue); }
public void Hotload_DeletedFile() { CreateFile("derp.yaml", "key: value"); CreateFile("durr.yaml", "a: b"); var fileSource = new FileSource(tempDirPath, hotload: true); fileSource.Preload(); Assert.AreEqual(2, fileSource.AllFiles.Count); DeleteFile("durr.yaml"); var changedFiles = new List <string>(); fileSource.Hotload(changedFiles); Assert.AreEqual(1, fileSource.AllFiles.Count); Assert.IsFalse(fileSource.AllFiles.ContainsKey("durr")); }
public void Hotload_CreatedFileTwice() { CreateFile("derp.yaml", "key: value"); var fileSource = new FileSource(tempDirPath, hotload: true); fileSource.Preload(); CreateFile("durr.yaml", "a: b"); CreateFile("hurr.yaml", "x: y"); var changedFiles = new List <string>(); fileSource.Hotload(changedFiles); Assert.AreEqual(3, fileSource.AllFiles.Count); Assert.IsTrue(fileSource.AllFiles.ContainsKey("derp")); Assert.IsTrue(fileSource.AllFiles.ContainsKey("durr")); Assert.IsTrue(fileSource.AllFiles.ContainsKey("hurr")); Assert.AreEqual("value", fileSource.AllFiles["derp"].Parsed["key"].StringValue); Assert.AreEqual("b", fileSource.AllFiles["durr"].Parsed["a"].StringValue); Assert.AreEqual("y", fileSource.AllFiles["hurr"].Parsed["x"].StringValue); }