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); }
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); }
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); }