public void GetFolderInfo() { // 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.GetFolderInfo(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); }