public void Write(Stream fs, bool comFiles) { if (comFiles) { fs.WriteByte(139); } else { fs.WriteByte(138); } WriteFiles.WriteDeprecatedString(fs, 1, Path); if (DeleteFile) { WriteFiles.WriteBool(fs, 2, val: true); } if (UnNGENFile) { WriteFiles.WriteBool(fs, 3, val: true); WriteFiles.WriteInt(fs, 4, (int)CPUVersion); WriteFiles.WriteInt(fs, 5, (int)FrameworkVersion); } if (RegisterCOMDll != 0) { WriteFiles.WriteInt(fs, 6, (int)RegisterCOMDll); } fs.WriteByte(154); }
public void WriteFilesSetsMetadata(string key, string expectedEnding) { // Given Engine engine = new Engine(); engine.RootFolder = TestContext.CurrentContext.TestDirectory; engine.OutputFolder = @"TestFiles\Output\"; engine.InitialMetadata[Keys.RelativeFilePath] = @"Subfolder/write-test.abc"; Pipeline pipeline = new Pipeline("Pipeline", null); IExecutionContext context = new ExecutionContext(engine, pipeline); IDocument[] inputs = { context.GetDocument("Test") }; WriteFiles writeFiles = new WriteFiles("txt"); // When IDocument output = writeFiles.Execute(inputs, context).First(); foreach (IDocument document in inputs) { ((IDisposable)document).Dispose(); } // Then Assert.That(output.Metadata[key], Does.EndWith(expectedEnding)); ((IDisposable)output).Dispose(); }
public void WriteFilesSetsMetadata(string key, string expectedEnding) { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.OutputFolder = @"TestFiles\Output\"; engine.Metadata[Keys.RelativeFilePath] = @"Subfolder/write-test.abc"; Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(engine, pipeline).Clone("Test") }; IExecutionContext context = new ExecutionContext(engine, pipeline); WriteFiles writeFiles = new WriteFiles("txt"); // When IDocument output = writeFiles.Execute(inputs, context).First(); foreach (IDocument document in inputs) { ((IDisposable)document).Dispose(); } // Then Assert.That(output.Metadata[key], Is.StringEnding(expectedEnding)); ((IDisposable)output).Dispose(); }
private void Save(string filename) { using (FileStream fileStream = new FileStream(filename, FileMode.Create, FileAccess.Write)) { WriteFiles.WriteHeader(fileStream, "AUIF"); UpdateStepOn = UpdateStepOn.Nothing; WriteFiles.WriteDateTime(fileStream, 1, LastCheckedForUpdate); WriteFiles.WriteInt(fileStream, 2, (int)UpdateStepOn); WriteFiles.WriteInt(fileStream, 3, (int)AutoUpdaterStatus); if (!string.IsNullOrEmpty(UpdateVersion)) { WriteFiles.WriteString(fileStream, 4, UpdateVersion); } if (!string.IsNullOrEmpty(ChangesInLatestVersion)) { WriteFiles.WriteString(fileStream, 5, ChangesInLatestVersion); WriteFiles.WriteBool(fileStream, 6, ChangesIsRTF); } if (!string.IsNullOrEmpty(ErrorTitle)) { WriteFiles.WriteString(fileStream, 7, ErrorTitle); } if (!string.IsNullOrEmpty(ErrorMessage)) { WriteFiles.WriteString(fileStream, 8, ErrorMessage); } fileStream.WriteByte(byte.MaxValue); } }
public static void WriteRollbackFiles(string fileName, List <FileFolder> rollbackList) { if (rollbackList.Count != 0) { using (FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { fileStream.Write(Encoding.UTF8.GetBytes("IURUFV1"), 0, 7); foreach (FileFolder rollback in rollbackList) { if (rollback.isFolder) { if (rollback.deleteFolder) { WriteFiles.WriteString(fileStream, 4, rollback.Path); } else { WriteFiles.WriteString(fileStream, 6, rollback.Path); } } else { WriteFiles.WriteString(fileStream, 2, rollback.Path); } } fileStream.WriteByte(byte.MaxValue); } } }
public void UpdatePmCheckTime() { DateTime now = DateTime.Now; this.pmCheckSetting.dtLastTimeCheck = now; long lngret = WriteFiles.IniWriteValue(this.strIniFilePath, "PM_CHECK_SETTING", "LastDoneTime", now.ToString()); }
public void ExtensionWithoutDotWritesFile() { // Given Engine engine = new Engine(); engine.Trace.AddListener(new TestTraceListener()); engine.OutputFolder = @"TestFiles\Output\"; engine.Metadata[Keys.RelativeFilePath] = @"Subfolder/write-test.abc"; Pipeline pipeline = new Pipeline("Pipeline", engine, null); IDocument[] inputs = { new Document(engine, pipeline).Clone("Test") }; IExecutionContext context = new ExecutionContext(engine, pipeline); WriteFiles writeFiles = new WriteFiles("txt"); // When IEnumerable <IDocument> outputs = writeFiles.Execute(inputs, context).ToList(); foreach (IDocument document in inputs.Concat(outputs)) { ((IDisposable)document).Dispose(); } // Then Assert.IsTrue(File.Exists(@"TestFiles\Output\Subfolder\write-test.txt")); Assert.AreEqual("Test", File.ReadAllText(@"TestFiles\Output\Subfolder\write-test.txt")); }
public async Task IgnoresEmptyDocuments() { // Given MemoryStream emptyStream = new MemoryStream(new byte[] { }); TestDocument[] inputs = { new TestDocument( new FilePath("Subfolder/write-test"), "Test"), new TestDocument( new FilePath("Subfolder/empty-test"), string.Empty), new TestDocument( new FilePath("Subfolder/stream-test"), emptyStream) }; TestExecutionContext context = GetExecutionContext(inputs); WriteFiles writeFiles = new WriteFiles(); // When IReadOnlyList <TestDocument> results = await ExecuteAsync(context, writeFiles); // Then results.Count.ShouldBe(3); context.FileSystem.GetOutputFile("Subfolder/write-test").Exists.ShouldBeTrue(); context.FileSystem.GetOutputFile("output/Subfolder/empty-test").Exists.ShouldBeFalse(); context.FileSystem.GetOutputFile("output/Subfolder/stream-test").Exists.ShouldBeFalse(); }
public void ExtensionWithoutDotWritesFile() { // Given Engine engine = new Engine(); engine.RootFolder = TestContext.CurrentContext.TestDirectory; engine.OutputFolder = @"TestFiles\Output\"; engine.InitialMetadata[Keys.RelativeFilePath] = @"Subfolder/write-test.abc"; Pipeline pipeline = new Pipeline("Pipeline", null); IExecutionContext context = new ExecutionContext(engine, pipeline); IDocument[] inputs = { context.GetDocument("Test") }; WriteFiles writeFiles = new WriteFiles("txt"); // When IEnumerable <IDocument> outputs = writeFiles.Execute(inputs, context).ToList(); foreach (IDocument document in inputs.Concat(outputs)) { ((IDisposable)document).Dispose(); } // Then Assert.IsTrue(File.Exists(Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestFiles\Output\Subfolder\write-test.txt"))); Assert.AreEqual("Test", File.ReadAllText(Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestFiles\Output\Subfolder\write-test.txt"))); }
public static void WriteRollbackCOM(string fileName, List <UninstallFileInfo> rollbackList) { //if the list is empty, bail out if (rollbackList.Count == 0) { return; } using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { // file-identification data fs.Write(Encoding.UTF8.GetBytes("IURUCV1"), 0, 7); foreach (UninstallFileInfo file in rollbackList) { fs.WriteByte(0x8B); //Beginning of the file information // write the filename (absolute) WriteFiles.WriteString(fs, 0x01, file.Path); WriteFiles.WriteInt(fs, 0x02, (int)file.RegisterCOMDll); fs.WriteByte(0x9B); //End of the file information } fs.WriteByte(0xFF); } }
public static void SaveWorker(List <Worker> workers, string path) { string[] output = new string[workers.Count * 2]; for (int i = 0; i < workers.Count; i++) { Worker worker = workers[i]; output[i * 2 + 0] = $"[{i}]"; output[i * 2 + 1] = $"Name={worker.Name}"; } WriteFiles.Write(output, path); }
public static void SaveStation(List <Station> stations, string path) { string[] output = new string[stations.Count * 2]; for (int i = 0; i < stations.Count; i++) { Station station = stations[i]; output[i * 2 + 0] = $"[{i}]"; output[i * 2 + 1] = $"Name={station.Name}"; } WriteFiles.Write(output, path); }
public void ShouldReturnOriginalDocumentForFailedPredicate() { // Given IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles((x, y) => null).Where((x, y) => false); // When IDocument output = writeFiles.Execute(inputs, Context).ToList().First(); // Then Assert.AreEqual("Test", output.Content); }
public async Task DocumentsWithSameOutputGeneratesWarning() { // Given TestDocument[] inputs = new[] { "A", "B", "C", "D", "E" } .Select(x => new TestDocument(new FilePath("output.txt"), x)) .ToArray(); TestExecutionContext context = GetExecutionContext(inputs); WriteFiles writeFiles = new WriteFiles(); // When, Then await Should.ThrowAsync <Exception>(async() => await ExecuteAsync(context, writeFiles)); }
public void OutputDocumentContainsSameContent() { // Given IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles((x, y) => null); // When IDocument output = writeFiles.Execute(inputs, Context).ToList().First(); // Then Assert.AreEqual("Test", output.Content); }
public static void WebsiteSave(Array_Website websites, string path) { string[] output = new string[websites.GetTotal() * 3]; for (int i = 0; i < websites.GetTotal(); i++) { Website tem = websites.GetArray()[i]; output[i * 3 + 0] = "[" + tem.Name + "]"; output[i * 3 + 1] = "Name=" + tem.Name; output[i * 3 + 2] = "URL=" + tem.URL; } WriteFiles.Write(output, path); }
public async Task ShouldReturnOriginalDocumentForFailedPredicate() { // Given TestDocument input = new TestDocument("Test"); TestExecutionContext context = GetExecutionContext(input.Yield()); WriteFiles writeFiles = new WriteFiles().Where(false); // When TestDocument result = await ExecuteAsync(context, writeFiles).SingleAsync(); // Then result.ShouldBe(input); }
public async Task OutputDocumentContainsSameContent() { // Given TestDocument input = new TestDocument("Test"); TestExecutionContext context = GetExecutionContext(input.Yield()); WriteFiles writeFiles = new WriteFiles(); // When TestDocument result = await ExecuteAsync(context, writeFiles).SingleAsync(); // Then result.Content.ShouldBe("Test"); }
public void ShouldReturnNullBasePathsForDotFiles() { // Given IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles((x, y) => ".dotfile"); // When IDocument document = writeFiles.Execute(inputs, Context).ToList().First(); // Then Assert.IsNull(document[Keys.DestinationFileBase]); Assert.IsNull(document[Keys.DestinationFilePathBase]); Assert.IsNull(document[Keys.RelativeFilePathBase]); }
public static void PlayerItemSave(Array_Item items, string path) { string[] output = new string[items.GetTotal() * 3]; int i = 0; foreach (Item tem in items.GetArray()) { output[i * 3 + 0] = "[" + tem.ID + "]"; output[i * 3 + 1] = "item_id=" + tem.ID; output[i * 3 + 2] = "item_number=" + tem.Number; i++; } WriteFiles.Write(output, path); }
public static void WriteApps(List <App> apps, string path) { string[] result = new string[apps.Count * 3]; int i = 0; foreach (App app in apps) { result[i * 3] = "[" + app.Name + "]"; result[i * 3 + 1] = "name=" + app.Name; result[i * 3 + 2] = "path=" + app.Path; i++; } WriteFiles.Write(result, path); }
void Save(string filename) { using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write)) { // Write any file-identification data you want to here WriteFiles.WriteHeader(fs, "AUIF"); #if CLIENT UpdateStepOn = UpdateStepOn.Nothing; #endif // Date last checked for update WriteFiles.WriteDateTime(fs, 0x01, LastCheckedForUpdate); // update step on WriteFiles.WriteInt(fs, 0x02, (int)UpdateStepOn); #if CLIENT // only save the AutoUpdaterStatus when wyUpdate writes the file WriteFiles.WriteInt(fs, 0x03, (int)AutoUpdaterStatus); #endif if (!string.IsNullOrEmpty(UpdateVersion)) { WriteFiles.WriteString(fs, 0x04, UpdateVersion); } if (!string.IsNullOrEmpty(ChangesInLatestVersion)) { WriteFiles.WriteString(fs, 0x05, ChangesInLatestVersion); WriteFiles.WriteBool(fs, 0x06, ChangesIsRTF); } #if CLIENT if (!string.IsNullOrEmpty(ErrorTitle)) { WriteFiles.WriteString(fs, 0x07, ErrorTitle); } if (!string.IsNullOrEmpty(ErrorMessage)) { WriteFiles.WriteString(fs, 0x08, ErrorMessage); } #endif fs.WriteByte(0xFF); } }
public void ShouldWriteDotFile() { // Given IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles((x, y) => ".dotfile"); // When writeFiles.Execute(inputs, Context).ToList(); // Then IFile outputFile = Engine.FileSystem.GetOutputFile(".dotfile"); Assert.IsTrue(outputFile.Exists); Assert.AreEqual("Test", outputFile.ReadAllText()); }
public static void WriteRollbackServices(string fileName, List <string> rollbackList) { if (rollbackList.Count != 0) { using (FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { fileStream.Write(Encoding.UTF8.GetBytes("IURUSV1"), 0, 7); foreach (string rollback in rollbackList) { WriteFiles.WriteString(fileStream, 1, rollback); } fileStream.WriteByte(byte.MaxValue); } } }
public static void WriteRollbackRegistry(string fileName, List <RegChange> rollbackRegistry) { if (rollbackRegistry.Count != 0) { using (FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { WriteFiles.WriteHeader(fileStream, "IURURV1"); WriteFiles.WriteInt(fileStream, 1, rollbackRegistry.Count); foreach (RegChange item in rollbackRegistry) { item.WriteToStream(fileStream, embedBinaryData: true); } fileStream.WriteByte(byte.MaxValue); } } }
public static void PlayerEquipmentSave(Array_Equipment equipments, string path) { string[] output = new string[equipments.GetTotal() * 2]; int i = 0; foreach (Equipment tem in equipments.GetArray()) { if (tem != null) { output[i * 2 + 0] = "[" + tem.ID + "]"; output[i * 2 + 1] = "equipment_id=" + tem.ID; i++; } } WriteFiles.Write(output, path); }
public static void SaveKey(List <Key> keys, string path) { string[] output = new string[keys.Count * 7]; for (int i = 0; i < keys.Count; i++) { Key key = keys[i]; output[i * 7 + 0] = $"[{i}]"; output[i * 7 + 1] = $"Text={key.Text}"; output[i * 7 + 2] = $"Score={key.Score}"; output[i * 7 + 3] = $"Coefficient_Licensor={key.Coefficient[WorkerType.Licensor].ToString()}"; output[i * 7 + 4] = $"Coefficient_Operator={key.Coefficient[WorkerType.Operator].ToString()}"; output[i * 7 + 5] = $"Coefficient_Guardian={key.Coefficient[WorkerType.Guardian].ToString()}"; output[i * 7 + 6] = $"Coefficient_Principal={key.Coefficient[WorkerType.Principal].ToString()}"; } WriteFiles.Write(output, path); }
public void ShouldSetStringMetadata(string key, string expected) { // Given Engine.Settings[Keys.RelativeFilePath] = new FilePath("Subfolder/write-test.abc"); IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles(".txt"); // When IDocument output = writeFiles.Execute(inputs, Context).ToList().First(); // Then object result = output[key]; Assert.IsInstanceOf <string>(result); Assert.AreEqual(expected, result); }
public void ExtensionWithoutDotWritesFiles() { // Given Engine.Settings[Keys.RelativeFilePath] = new FilePath("Subfolder/write-test.abc"); IDocument[] inputs = new[] { Context.GetDocument(Context.GetContentStream("Test")) }; WriteFiles writeFiles = new WriteFiles("txt"); // When writeFiles.Execute(inputs, Context).ToList(); // Then IFile outputFile = Engine.FileSystem.GetOutputFile("Subfolder/write-test.txt"); Assert.IsTrue(outputFile.Exists); Assert.AreEqual("Test", outputFile.ReadAllText()); }
public void ShouldSetDirectoryPathMetadata(string key, string expected) { // Given Engine.InitialMetadata[Keys.RelativeFilePath] = new FilePath("Subfolder/write-test.abc"); IDocument[] inputs = new[] { Context.GetDocument("Test") }; WriteFiles writeFiles = new WriteFiles(".txt"); // When IDocument output = writeFiles.Execute(inputs, Context).ToList().First(); // Then object result = output[key]; Assert.IsInstanceOf <DirectoryPath>(result); Assert.AreEqual(expected, ((DirectoryPath)result).FullPath); }