コード例 #1
0
    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);
    }
コード例 #2
0
    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"));
    }
コード例 #3
0
    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);
    }