コード例 #1
0
        public void PlanForSingleIntConstructExecutesReadingWithCorrectResult()
        {
            var plan = _constructPlanner.CreatePlan<SingleIntConstruct>();

            var reader = new ConstructReaderStream(DataStream.Create(555, ByteOrder.Host));

            var result = plan.ReadConstruct(reader);

            Assert.AreEqual(555, result.Integer);
        }
コード例 #2
0
        public void CreatesCorrectStringFromBuffer()
        {
            var stream = new ConstructReaderStream(DataStream.Create("test", Encoding.UTF8));

            var planner = new ConstructPlanner();

            var plan = planner.CreatePlan<FixedLengthStringConstruct>();

            var result = plan.ReadConstruct(stream);

            Assert.AreEqual("test", result.FixedString);
        }
コード例 #3
0
        public void CheckReadWriteInt64ReturnsSameValue(long value, ByteOrder byteOrder)
        {
            using (var baseStream = new MemoryStream())
            {
                var constructWriter = new ConstructWriterStream(baseStream);
                constructWriter.WriteInt64(value, byteOrder);

                baseStream.Seek(0, SeekOrigin.Begin);

                var constructReader = new ConstructReaderStream(baseStream);
                var result = constructReader.ReadInt64(byteOrder);

                Assert.AreEqual(value, result);
            }
        }
コード例 #4
0
        public void ULongEnumsAreWrittenAndReadCorrectly(ULongEnum enumValue, ByteOrder byteOrder)
        {
            using (var baseStream = new MemoryStream())
            {
                var constructWriter = new ConstructWriterStream(baseStream);
                constructWriter.WriteEnum(enumValue, byteOrder);

                baseStream.Seek(0, SeekOrigin.Begin);

                var constructReader = new ConstructReaderStream(baseStream);
                var result = constructReader.ReadEnum(typeof(ULongEnum), byteOrder);

                Assert.AreEqual(enumValue, result);
            }
        }
コード例 #5
0
        public void CheckReadWriteSByteReturnsSameValue(sbyte value)
        {
            using (var baseStream = new MemoryStream())
            {
                var constructWriter = new ConstructWriterStream(baseStream);
                constructWriter.WriteSByte(value);

                baseStream.Seek(0, SeekOrigin.Begin);

                var constructReader = new ConstructReaderStream(baseStream);
                var result = constructReader.ReadSByte();

                Assert.AreEqual(value, result);
            }
        }
コード例 #6
0
        public void ReadUShortIsCorrectValue(ushort value, ByteOrder byteOrder)
        {
            var constructStream = new ConstructReaderStream(DataStream.Create(value, byteOrder));

            Assert.AreEqual(value, constructStream.ReadUInt16(byteOrder));
        }
コード例 #7
0
        public void ReadSByteIsCorrectValue(sbyte value)
        {
            var constructStream = new ConstructReaderStream(DataStream.Create(value));

            Assert.AreEqual(value, constructStream.ReadSByte());
        }
コード例 #8
0
 public void ULongEnumsAreReadCorrectly(ULongEnum enumValue, ByteOrder byteOrder)
 {
     var constructStream = new ConstructReaderStream(DataStream.Create((ulong)enumValue, byteOrder));
     var result = constructStream.ReadEnum(typeof(ULongEnum), byteOrder);
     Assert.AreEqual(enumValue, result);
 }
コード例 #9
0
        public void ReadDoubleIsCorrectValue(double value, ByteOrder byteOrder)
        {
            var constructStream = new ConstructReaderStream(DataStream.Create(value, byteOrder));

            Assert.AreEqual(value, constructStream.ReadDouble(byteOrder));
        }
コード例 #10
0
        public void ReadFloatIsCorrectValue(float value, ByteOrder byteOrder)
        {
            var constructStream = new ConstructReaderStream(DataStream.Create(value, byteOrder));

            Assert.AreEqual(value, constructStream.ReadSingle(byteOrder));
        }
コード例 #11
0
 public void NotEnoughDataIsThrownWhenNotEnoughData()
 {
     var constructStream = new ConstructReaderStream(DataStream.Create(123));
     Assert.Throws<NotEnoughDataException>(() => constructStream.ReadInt64(ByteOrder.Host));
 }
コード例 #12
0
        public void ReadULongIsCorrectValue(ulong value, ByteOrder byteOrder)
        {
            var constructStream = new ConstructReaderStream(DataStream.Create(value, byteOrder));

            Assert.AreEqual(value, constructStream.ReadUInt64(byteOrder));
        }