Exemple #1
0
        public void ReadFolderInfo()
        {
            // ReSharper disable once InconsistentNaming
            const string FolderExample = "FolderExample";

            EngineState s = EngineTests.CreateEngineState();
            string      pbOriginScript = Path.Combine("%TestBench%", "EncodedFile", "ExtractFileTests.script");
            string      originScript   = StringEscaper.Preprocess(s, pbOriginScript);

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

            // ReSharper disable once ParameterOnlyUsedForPreconditionCheck.Local
            void Template(bool detail, List <EncodedFileInfo> comps)
            {
                ResultReport <EncodedFileInfo[]> report = EncodedFile.ReadFolderInfo(sc, FolderExample, detail);

                Assert.IsTrue(report.Success);
                EncodedFileInfo[] infos = report.Result;
                Assert.AreEqual(comps.Count, infos.Length);
                for (int i = 0; i < comps.Count; i++)
                {
                    Assert.IsTrue(comps[i].Equals(infos[i]));
                }
            }

            List <EncodedFileInfo> compDetailList = new List <EncodedFileInfo>
            {
                new EncodedFileInfo
                {
                    FolderName  = FolderExample,
                    FileName    = "Type1.jpg",
                    RawSize     = 7683,
                    EncodedSize = 10244,
                    EncodeMode  = EncodedFile.EncodeMode.ZLib
                },
                new EncodedFileInfo
                {
                    FolderName  = FolderExample,
                    FileName    = "Type2.7z",
                    RawSize     = 1631,
                    EncodedSize = 2175,
                    EncodeMode  = EncodedFile.EncodeMode.Raw
                },
                new EncodedFileInfo
                {
                    FolderName  = FolderExample,
                    FileName    = "Type3.pdf",
                    RawSize     = 88692,
                    EncodedSize = 102908,
                    EncodeMode  = EncodedFile.EncodeMode.XZ
                }
            };

            List <EncodedFileInfo> compNoDetailList = new List <EncodedFileInfo>();

            foreach (EncodedFileInfo info in compDetailList)
            {
                EncodedFileInfo clone = info.Clone() as EncodedFileInfo;
                Assert.IsTrue(clone != null);
                clone.EncodeMode = null;
                compNoDetailList.Add(clone);
            }

            Template(true, compDetailList);
            Template(false, compNoDetailList);
        }