Пример #1
0
        public void ExtractFolder()
        {
            EngineState s = EngineTests.CreateEngineState();

            void Template(string folderName)
            {
                string pbOriginScript = Path.Combine("%TestBench%", "EncodedFile", "ExtractFileTests.script");
                string originScript   = StringEscaper.Preprocess(s, pbOriginScript);

                string destDir = FileHelper.GetTempDir();

                try
                {
                    Script sc = s.Project.LoadScriptRuntime(originScript, new LoadScriptRuntimeOptions());

                    EncodedFile.ExtractFolder(sc, folderName, destDir);

                    string[] comps = IniReadWriter.ParseIniLinesIniStyle(sc.Sections[folderName].Lines).Keys.ToArray();
                    string[] dests = Directory.EnumerateFiles(destDir).Select(Path.GetFileName).ToArray();

                    Assert.IsTrue(comps.SequenceEqual(dests, StringComparer.OrdinalIgnoreCase));
                }
                finally
                {
                    if (Directory.Exists(destDir))
                    {
                        Directory.Delete(destDir, true);
                    }
                }
            }

            Template("FolderExample");
        }