private TreeNode CreateFileEntryTreeNode(BIFFileEntry tileEntry, int entryNumber) { var entryNode = new TreeNode(string.Format("File Entry Number - {0}", entryNumber)); entryNode.Nodes.Add(new TreeNode(string.Format("Resource Locator: {0}", tileEntry.Locator))); entryNode.Nodes.Add(new TreeNode(string.Format("Resource Offset: {0}", tileEntry.Offset))); entryNode.Nodes.Add(new TreeNode(string.Format("Resource Size: {0}", tileEntry.Size))); entryNode.Nodes.Add(new TreeNode(string.Format("Resource Type: {0} ({1})", tileEntry.Type, ResourceTypesHelper.GetResourceStringFromType(tileEntry.Type)))); entryNode.Nodes.Add(new TreeNode(string.Format("Resource Unknown: {0}", tileEntry.UnknownData))); return entryNode; }
public void should_create_file_entries() { var dummyEntry1 = new BIFFileEntry(0x1, 0x2, 0x3, 0x4, 0x5); var dummyEntry2 = new BIFFileEntry(0x2, 0x5, 0x3, 0x4, 0x5); var expectedOutput = new List<BIFFileEntry> { dummyEntry1, dummyEntry2 }; var plugin = new BIFPlugin(); var bifDescriptor = new BIFDescriptor(); bifDescriptor.FileCount = 2; bifDescriptor.FileEntryOffset = 0; var entriesBytes = new byte[] { // Entry 1 0x01, 0x00, 0x00, 0x00, // Locator int32 0x02, 0x00, 0x00, 0x00, // Offset int32 0x03, 0x00, 0x00, 0x00, // Size int32 0x04, 0x00, // Type int16 0x05, 0x00, // Unknown int16 // Entry 2 0x02, 0x00, 0x00, 0x00, // Locator int32 0x05, 0x00, 0x00, 0x00, // Offset int32 0x03, 0x00, 0x00, 0x00, // Size int32 0x04, 0x00, // Type int16 0x05, 0x00, // Unknown int16 }; var memoryStream = new MemoryStream(entriesBytes); var binaryReader = new BinaryReader(memoryStream); var createFileEntriesMethod = plugin.GetType().GetMethod("ReadFileEntries", BindingFlags.NonPublic | BindingFlags.Instance); var result = createFileEntriesMethod.Invoke(plugin, new object[] { binaryReader, bifDescriptor }); Assert.That(result, Is.TypeOf(typeof(List<BIFFileEntry>))); CollectionAssert.AreEquivalent((List<BIFFileEntry>)result, expectedOutput); }