public void XmlDataContractSerializer_CanWriteResult_ReturnsTrue_ForWritableType() { // Arrange var formatter = new XmlSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(outputValue: null, outputType: typeof(string)); // Act & Assert Assert.True(formatter.CanWriteResult(outputFormatterContext, MediaTypeHeaderValue.Parse("application/xml"))); }
public void XmlSerializer_CanWriteResult_ReturnsFalse_ForNonWritableType() { // Arrange var formatter = new XmlSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(outputValue: null, outputType: typeof(Dictionary <string, string>)); // Act & Assert Assert.False(formatter.CanWriteResult(outputFormatterContext, MediaTypeHeaderValue.Parse("application/xml"))); }
public void XmlSerializer_CanWriteResult(object input, Type declaredType, bool expectedOutput) { // Arrange var formatter = new XmlSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(input, declaredType); // Act var result = formatter.CanWriteResult(outputFormatterContext, MediaTypeHeaderValue.Parse("application/xml")); // Assert Assert.Equal(expectedOutput, result); }
public void XmlSerializer_DoesNotThrow_OnNoLoggerAnd_WhenUnableToCreateSerializerForType() { // Arrange var formatter = new XmlSerializerOutputFormatter(); // no logger is being supplied here on purpose var outputFormatterContext = GetOutputFormatterContext(new Customer(10), typeof(Customer)); // Act var canWriteResult = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.False(canWriteResult); }
public void XmlSerializer_CanWriteResult(object input, Type declaredType, bool expectedOutput) { // Arrange var formatter = new XmlSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(input, declaredType); outputFormatterContext.ContentType = new StringSegment("application/xml"); // Act var result = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.Equal(expectedOutput, result); }
public void XmlSerializer_LogsWhenUnableToCreateSerializerForType( XmlSerializerOutputFormatter formatter, TestSink sink) { // Arrange var outputFormatterContext = GetOutputFormatterContext(new Customer(10), typeof(Customer)); // Act var canWriteResult = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.False(canWriteResult); var write = Assert.Single(sink.Writes); Assert.Equal(LogLevel.Warning, write.LogLevel); Assert.Equal( $"An error occurred while trying to create an XmlSerializer for the type '{typeof(Customer).FullName}'.", write.State.ToString()); }
public void CanWriteResult_ReturnsExpectedValueForMediaType( string mediaType, bool isServerDefined, string expectedResult) { // Arrange var formatter = new XmlSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(new object(), typeof(object)); outputFormatterContext.ContentType = new StringSegment(mediaType); outputFormatterContext.ContentTypeIsServerDefined = isServerDefined; // Act var actualCanWriteValue = formatter.CanWriteResult(outputFormatterContext); // Assert var expectedContentType = expectedResult ?? mediaType; Assert.Equal(expectedResult != null, actualCanWriteValue); Assert.Equal(new StringSegment(expectedContentType), outputFormatterContext.ContentType); }