Ejemplo n.º 1
0
        public void TestDisposeListener()
        {
            //test
            bool     disposed  = false;
            BaseFile onDispose = new BaseFileTestClass(new NamespaceTestClass(new DatapackTestClass("pack", "path"), "namespace"), "MyFile", BaseFile.WriteSetting.OnDispose);

            onDispose.AddDisposeListener(f =>
            {
                disposed = true;
            });
            Assert.IsFalse(disposed, "Dispose listener was called too early");
            onDispose.Dispose();
            Assert.IsTrue(disposed, "Dispose listener wasn't called when the file got disposed");

            //test exception
            Assert.ThrowsException <ArgumentNullException>(() => onDispose.AddDisposeListener(null !));
        }
Ejemplo n.º 2
0
        public void TestDispose()
        {
            //setup
            BaseFileTestClass.WriterToUse = new StringWriter();
            BaseFile onDispose = new BaseFileTestClass(new NamespaceTestClass(new DatapackTestClass("pack", "path"), "namespace"), "MyFile", BaseFile.WriteSetting.OnDispose);
            BaseFile auto      = new BaseFileTestClass(new NamespaceTestClass(new DatapackTestClass("pack", "path"), "namespace"), "MyFile", BaseFile.WriteSetting.Auto);

            //test (on dispose)
            Assert.AreEqual("", ((StringWriter)BaseFileTestClass.WriterToUse).GetStringBuilder().ToString(), "file isn't diposed yet and shouldn't have ran it's WriteFile method");
            Assert.IsFalse(onDispose.Disposed, "file isn't disposed and it should be false");
            onDispose.Dispose();
            Assert.IsTrue(((BaseFileTestClass)onDispose).RandomValue, "AfterDispose didn't run");
            Assert.IsTrue(onDispose.Disposed, "file is disposed and it should be true");
            Assert.AreEqual("Hello world", ((StringWriter)BaseFileTestClass.WriterToUse).GetStringBuilder().ToString(), "File is disposed but failed to write correctly");
            onDispose.Dispose();
            Assert.AreEqual("Hello world", ((StringWriter)BaseFileTestClass.WriterToUse).GetStringBuilder().ToString(), "File was already disposed and shouldn't change the thing it's writing");

            //(auto)
            BaseFileTestClass.WriterToUse = new StringWriter();
            auto.Dispose();
            Assert.AreEqual("", ((StringWriter)BaseFileTestClass.WriterToUse).GetStringBuilder().ToString(), "File is an Auto file and shouldn't write after being disposed");
        }
Ejemplo n.º 3
0
        public void TestBaseFile()
        {
            //setup
            BaseFileTestClass.WriterToUse = new StringWriter();
            NamespaceTestClass packNamespace = new NamespaceTestClass(new DatapackTestClass("pack", "path"), "namespace");
            BaseFile           file          = new BaseFileTestClass(packNamespace, "My/File", BaseFile.WriteSetting.Auto);

            //test
            Assert.AreEqual("my/file", file.FileId, "file name is not getting set by constructor");
            Assert.AreEqual(packNamespace, file.PackNamespace, "Packnamespace is not getting set by the constructor");
            Assert.AreEqual(file, packNamespace.GetFile("filetest", file.FileId), "Constructor is not adding the file to the namespace");
            file.Dispose();

            file = new BaseFileTestClass(packNamespace, null !, BaseFile.WriteSetting.Auto);
            Assert.AreEqual("1", file.FileId, "file name wasn't generated correctly");
            file.Dispose();

            packNamespace.AddSetting(NamespaceSettings.GetSettings().GenerateNames());
            file = new BaseFileTestClass(packNamespace, "folder\\ignored-name", BaseFile.WriteSetting.Auto);
            Assert.AreEqual("2", file.WritePath, "writepath wasn't forced to be generated");
            Assert.AreEqual("folder/ignored-name", file.FileId, "filename wasn't kept after forced path generation");
            file.Dispose();
        }