public void XmlDataContractSerializer_CanWriteResult_ReturnsTrue_ForWritableType() { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter( XmlOutputFormatter.GetDefaultXmlWriterSettings()); var outputFormatterContext = GetOutputFormatterContext(null, typeof(Dictionary <string, string>)); // Act & Assert Assert.True(formatter.CanWriteResult(outputFormatterContext, MediaTypeHeaderValue.Parse("application/xml"))); }
public void DoesNotThrow_OnNoLoggerAnd_WhenUnableToCreateSerializerForType() { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter(); // 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 XmlDataContractSerializer_CanWriteResult(object input, Type declaredType, bool expectedOutput) { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(input, declaredType); // Act var result = formatter.CanWriteResult(outputFormatterContext, MediaTypeHeaderValue.Parse("application/xml")); // Assert Assert.Equal(expectedOutput, result); }
public void CanWriteResult_ReturnsExpectedValueForObjectType(object input, Type declaredType, bool expectedOutput) { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(input, declaredType); outputFormatterContext.ContentType = new StringSegment("application/xml"); // Act var result = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.Equal(expectedOutput, result); }
public void CannotCreateSerializer_LogsWarning( XmlDataContractSerializerOutputFormatter formatter, TestSink sink) { // Arrange var outputFormatterContext = GetOutputFormatterContext(new Customer(10), typeof(Customer)); // Act var result = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.False(result); var write = Assert.Single(sink.Writes); Assert.Equal(LogLevel.Warning, write.LogLevel); Assert.Equal($"An error occurred while trying to create a DataContractSerializer for the type '{typeof(Customer).FullName}'.", write.State.ToString()); }
public void CanWriteResult_ReturnsExpectedValueForMediaType( string mediaType, bool isServerDefined, string expectedResult) { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter(); 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); }
public void CanWriteResult_ReturnsExpectedOutput(object input, Type declaredType, bool expectedOutput) { // Arrange var formatter = new XmlDataContractSerializerOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext(input, declaredType); outputFormatterContext.ContentType = new StringSegment("application/xml"); // Act var result = formatter.CanWriteResult(outputFormatterContext); // Assert Assert.Equal(expectedOutput, result); }