Beispiel #1
0
        public void NefsHeaderPart7_MultipleItems_EntriesPopulated()
        {
            var items = new NefsItemList(@"C:\archive.nefs");

            var file1Id         = new NefsItemId(31);
            var file1DataSource = new NefsItemListDataSource(items, 123, new NefsItemSize(456, new List <UInt32> {
                11, 12, 13
            }));
            var file1UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 1,
                Part6Unknown0x01 = 2,
                Part6Unknown0x02 = 3,
                Part6Unknown0x03 = 4,
            };

            var file1 = new NefsItem(file1Id, "file1", file1Id, NefsItemType.File, file1DataSource, file1UnknownData);

            items.Add(file1);

            var file2Id         = new NefsItemId(41);
            var file2DataSource = new NefsItemListDataSource(items, 456, new NefsItemSize(789, new List <UInt32> {
                14, 15, 16
            }));
            var file2UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 7,
                Part6Unknown0x01 = 8,
                Part6Unknown0x02 = 9,
                Part6Unknown0x03 = 10,
            };
            var file2 = new NefsItem(file2Id, "file2", file2Id, NefsItemType.File, file2DataSource, file2UnknownData);

            items.Add(file2);

            var dir2Id          = new NefsItemId(51);
            var dir1DataSource  = new NefsEmptyDataSource();
            var dir1UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 13,
                Part6Unknown0x01 = 14,
                Part6Unknown0x02 = 15,
                Part6Unknown0x03 = 16,
            };
            var dir1 = new NefsItem(dir2Id, "dir1", dir2Id, NefsItemType.Directory, dir1DataSource, dir1UnknownData);

            items.Add(dir1);

            var p7 = new NefsHeaderPart7(items);

            Assert.Equal(3, p7.EntriesById.Count);

            /*
             * file1
             */

            Assert.Equal(31U, p7.EntriesById[file1.Id].Id.Value);
            Assert.Equal(41U, p7.EntriesById[file1.Id].SiblingId.Value);

            /*
             * file2
             */

            Assert.Equal(41U, p7.EntriesById[file2.Id].Id.Value);
            Assert.Equal(51U, p7.EntriesById[file2.Id].SiblingId.Value);

            /*
             * dir1
             */

            Assert.Equal(51U, p7.EntriesById[dir1.Id].Id.Value);
            Assert.Equal(51U, p7.EntriesById[dir1.Id].SiblingId.Value);
        }
        public void NefsHeaderPart6_MultipleItems_EntriesPopulated()
        {
            var items = new NefsItemList(@"C:\archive.nefs");

            var file1DataSource = new NefsItemListDataSource(items, 123, new NefsItemSize(456, new List <UInt32> {
                11, 12, 13
            }));
            var file1UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 1,
                Part6Unknown0x01 = 2,
                Part6Unknown0x02 = 3,
                Part6Unknown0x03 = 4,
            };
            var file1 = new NefsItem(new NefsItemId(0), "file1", new NefsItemId(0), NefsItemType.File, file1DataSource, file1UnknownData);

            items.Add(file1);

            var file2DataSource = new NefsItemListDataSource(items, 456, new NefsItemSize(789, new List <UInt32> {
                14, 15, 16
            }));
            var file2UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 7,
                Part6Unknown0x01 = 8,
                Part6Unknown0x02 = 9,
                Part6Unknown0x03 = 10,
            };
            var file2 = new NefsItem(new NefsItemId(1), "file2", new NefsItemId(1), NefsItemType.File, file2DataSource, file2UnknownData);

            items.Add(file2);

            var dir1DataSource  = new NefsEmptyDataSource();
            var dir1UnknownData = new NefsItemUnknownData
            {
                Part6Unknown0x00 = 13,
                Part6Unknown0x01 = 14,
                Part6Unknown0x02 = 15,
                Part6Unknown0x03 = 16,
            };
            var dir1 = new NefsItem(new NefsItemId(2), "dir1", new NefsItemId(2), NefsItemType.Directory, dir1DataSource, dir1UnknownData);

            items.Add(dir1);

            var p6 = new NefsHeaderPart6(items);

            Assert.Equal(3, p6.EntriesById.Count);

            /*
             * file1
             */

            Assert.Equal(1, p6.EntriesById[file1.Id].Byte0);
            Assert.Equal(2, p6.EntriesById[file1.Id].Byte1);
            Assert.Equal(3, p6.EntriesById[file1.Id].Byte2);
            Assert.Equal(4, p6.EntriesById[file1.Id].Byte3);

            /*
             * file2
             */

            Assert.Equal(7, p6.EntriesById[file2.Id].Byte0);
            Assert.Equal(8, p6.EntriesById[file2.Id].Byte1);
            Assert.Equal(9, p6.EntriesById[file2.Id].Byte2);
            Assert.Equal(10, p6.EntriesById[file2.Id].Byte3);

            /*
             * dir1
             */

            Assert.Equal(13, p6.EntriesById[dir1.Id].Byte0);
            Assert.Equal(14, p6.EntriesById[dir1.Id].Byte1);
            Assert.Equal(15, p6.EntriesById[dir1.Id].Byte2);
            Assert.Equal(16, p6.EntriesById[dir1.Id].Byte3);
        }