Esempio n. 1
0
        public void RomMetadataFeatures_CreateWithDataLengthButInsufficientDataBufferAndDeserialize_ThrowsEndOfStreamException()
        {
            var featuresMetadata = new RomMetadataFeatures(1);
            var expectedFeatures = featuresMetadata.Features;

            using (var stream = new System.IO.MemoryStream())
            {
                using (var reader = new BinaryReader(stream))
                {
                    Assert.Throws <System.IO.EndOfStreamException>(() => featuresMetadata.Deserialize(reader));
                }
            }
        }
Esempio n. 2
0
        public void RomMetadataFeatures_CreateWithZeroDataLength_DeserializeDoesNotChangeFeatures()
        {
            var featuresMetadata = new RomMetadataFeatures(0);
            var expectedFeatures = featuresMetadata.Features;

            using (var stream = new System.IO.MemoryStream())
            {
                using (var reader = new BinaryReader(stream))
                {
                    featuresMetadata.Deserialize(reader);
                }
            }

            Assert.Equal(expectedFeatures, featuresMetadata.Features);
        }
Esempio n. 3
0
        public void RomMetadataFeatures_CreateWithAdditionalDataAndDeserialize_MovesToEndOfBuffer()
        {
            var dataSize         = 10;
            var featuresMetadata = new RomMetadataFeatures((uint)dataSize);
            var expectedFeatures = ProgramFeatures.DefaultFeatures;

            using (var stream = new System.IO.MemoryStream())
            {
                var data = Enumerable.Repeat((byte)0, dataSize);
                stream.Write(data.ToArray(), 0, dataSize);
                stream.Seek(0, System.IO.SeekOrigin.Begin);
                using (var reader = new BinaryReader(stream))
                {
                    featuresMetadata.Deserialize(reader);
                }
            }

            Assert.Equal(expectedFeatures, featuresMetadata.Features);
        }