static int Main(string[] args) { if (args.Count() > 3 && args[0] == "--hex-merge") { Console.WriteLine("Hex Merge"); IntelHexFile hexFile = null; for (int i = 1; i < args.Length - 1; i++) { var currentFile = ConvertToFullPath(args[i]); if (File.Exists(currentFile)) { Console.WriteLine($"Merging: {currentFile}"); if (hexFile is null) { hexFile = IntelHexFile.CreateFrom(File.ReadAllText(currentFile)); } else { var currentHexFile = IntelHexFile.CreateFrom(File.ReadAllText(currentFile)); hexFile.Records.Remove(hexFile.Records.Last()); hexFile.Records.AddRange(currentHexFile.Records); } } } File.WriteAllText(ConvertToFullPath(args[^ 1]), hexFile.ToString());
public void SerializeDeserializeShouldBeTheSame(string testHexFile, long baseAddress) { var hexString = TestDataLoader.GetString(testHexFile); var intelHexFile = IntelHexFile.CreateFrom(hexString, (int)baseAddress); var intelHexFile2 = IntelHexFile.CreateFrom(intelHexFile.BinaryData, (int)baseAddress); Assert.AreEqual(hexString, intelHexFile2.ToString()); }