Ejemplo n.º 1
0
        public void Read_NullDataWithReferenceType_ReturnsNull()
        {
            var buffer = new DummyBuffer();

            var bufferReaderMock = new Mock <IBufferReader <DummyBuffer> >(MockBehavior.Strict);

            bufferReaderMock.SetupNullMarker(true).Verifiable();

            var context = new ReadFormatContext <DummyBuffer>(bufferReaderMock.Object, buffer);
            var data    = context.Read <TestClass1>();

            Assert.AreEqual(null, data);
        }
Ejemplo n.º 2
0
        public void Read_InvalidMarkerWithReferenceType_Throws()
        {
            var buffer = new DummyBuffer();

            var bufferReaderMock = new Mock <IBufferReader <DummyBuffer> >(MockBehavior.Strict);

            bufferReaderMock.SetupNullMarker(invalid: true).Verifiable();

            var context = new ReadFormatContext <DummyBuffer>(bufferReaderMock.Object, buffer);

            Assert.Throws(Is.TypeOf <FormattingException>().And.Message.EqualTo("Invalid null marker found: 2"),
                          () => context.Read <TestClass1>());
        }
Ejemplo n.º 3
0
        public void Read_BufferReaderThrows_ThrowsWrapped()
        {
            var bufferReaderMock = new Mock <IBufferReader <DummyBuffer> >();

            bufferReaderMock.Setup(o => o.Deserialize(It.IsAny <DummyBuffer>(), It.IsAny <Type>(), It.IsAny <ReadFormatContext <DummyBuffer> >())).Throws(new Exception("Inner exception"));

            var context = new ReadFormatContext <DummyBuffer>(bufferReaderMock.Object, new DummyBuffer());

            Assert.Throws(Is.TypeOf <FormattingException>()
                          .And.Message.EqualTo($"Failed to read type {typeof(TestClass1)} at .InnerPath")
                          .And.InnerException.Message.EqualTo("Inner exception"),
                          () => context.Read(typeof(TestClass1), "InnerPath", false));
        }