Exemplo n.º 1
0
 public FileEntry(MetadataDirectory directory, FileMetadataTableRow row)
 {
     this.FileOffset = string.Format("0x{0:x}", row.FileOffset);
     this.Name       = ((StringStream)directory.Streams[Streams.StringStream]).GetString(row.Name.Value);
     this.Flags      = string.Format("0x{0:x}", row.Flags);
     this.HashValue  = string.Format("0x{0:x}", row.HashValue);
 }
        public void File_WhenCreated_OffsetIsMovedOn()
        {
            Offset offset = 0;

            byte[]        contents     = new byte[10];
            IIndexDetails indexDetails = IndexHelper.CreateIndexDetails(2);

            FileMetadataTableRow row = new FileMetadataTableRow(contents, offset, indexDetails);

            Assert.AreEqual(8, offset.Current);
        }
        public void File_WhenCreated_ReadsFieldsCorrectly()
        {
            byte[] contents = new byte[] {
                0x00, 0x00, 0x00, 0x00,
                0x00, 0x00,
                0x00, 0x00
            };
            IIndexDetails indexDetails = IndexHelper.CreateIndexDetails(2);

            FileMetadataTableRow row = new FileMetadataTableRow(contents, 0, indexDetails);

            Assert.AreEqual(FileAttributes.ContainsMetadata, row.Flags);
            Assert.AreEqual(0, row.Name.Value);
            Assert.AreEqual(0, row.HashValue);
        }