public override IElement Load(BinaryReader reader, IList <DirectoryEntry> entries)
        {
            // Create the map.
            DoomFormatMapElement map = new DoomFormatMapElement(entries[0].Name);

            // Iterate through the remaining entries and construct appropriate
            // data for each one.
            foreach (DirectoryEntry entry in entries)
            {
                // Set the reader's position.
                reader.BaseStream.Position = entry.Offset;

                // Load the data into the map.
                switch (entry.Name)
                {
                case "THINGS":
                    map.Things = LoadThings(reader, entry);
                    break;

                case "LINEDEFS":
                    map.Lines = LoadLines(reader, entry);
                    break;

                case "SIDEDEFS":
                    map.Sides = LoadSides(reader, entry);
                    break;

                case "VERTEXES":
                    map.Vertexes = LoadVertexes(reader, entry);
                    break;

                case "SEGS":
                    map.Segments = reader.ReadBytes(entry.Size);
                    break;

                case "SSECTORS":
                    map.SubSectors = reader.ReadBytes(entry.Size);
                    break;

                case "NODES":
                    map.Nodes = reader.ReadBytes(entry.Size);
                    break;

                case "SECTORS":
                    map.Sectors = LoadSectors(reader, entry);
                    break;

                case "REJECT":
                    map.RejectTable = reader.ReadBytes(entry.Size);
                    break;

                case "BLOCKMAP":
                    map.Blockmap = reader.ReadBytes(entry.Size);
                    break;
                }
            }

            // Return the complete map.
            return(map);
        }
        public void A_Wad_Has_The_Correct_Number_Of_Things()
        {
            WadLoader            loader = new WadLoader();
            WadFile              wad    = loader.Load(@"TestData\testmap.wad");
            DoomFormatMapElement map    = (DoomFormatMapElement)wad.Elements[0];

            Assert.AreEqual(28, map.Things.Count);
        }