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