Exemple #1
0
        public void CanReadType_Always_ReturnsFalse()
        {
            // arrange
            var sut = new HateoasMediaTypeFormatter(new Mock <IHateoasContext>().Object,
                                                    new Mock <IResourceFactory>().Object,
                                                    new Mock <IHateoasSerializer>().Object);

            // act
            var actual = sut.CanReadType(It.IsAny <Type>());

            // assert
            Assert.False(actual);
        }
Exemple #2
0
        public void CanWriteType_WithTypeParameters_ReturnsExpectedBool(Type validType, Type invalidType)
        {
            // arrange
            var hateoasContextMock = GenerateCanWriteHateoasContextMock(validType, invalidType);
            var sut = new HateoasMediaTypeFormatter(hateoasContextMock.Object,
                                                    new Mock <IResourceFactory>().Object,
                                                    new Mock <IHateoasSerializer>().Object);

            // act
            var actualValid   = sut.CanWriteType(validType);
            var actualInvalid = sut.CanWriteType(invalidType);

            // assert
            Assert.True(actualValid);
            Assert.False(actualInvalid);
        }
Exemple #3
0
        public void WriteToStreamAsync_ValidParameters_WriteExpectedText(object value, Resource resource, string text)
        {
            // arrange
            const string supportedContentType = "application/json+hateoas";
            var          type            = value.GetType();
            var          stream          = new MemoryStream();
            var          testHttpContent = new TestHttpContent();

            testHttpContent.Headers.ContentType = new MediaTypeHeaderValue(supportedContentType);
            var mockResourceFactory = GenerateFullResourceFactoryMock(resource, value, type);
            var sut = new HateoasMediaTypeFormatter(new Mock <IHateoasContext>().Object,
                                                    mockResourceFactory.Object,
                                                    new HateoasSerializer());

            // act
            sut.WriteToStreamAsync(type, value, stream, testHttpContent, null, CancellationToken.None).Wait();
            stream.Seek(0, SeekOrigin.Begin);
            mockResourceFactory.Verify();
            // reset position and read the stream to capture formatted string output
            var actual = new StreamReader(stream).ReadToEnd();

            // assert
            Assert.Equal(text, actual);
        }