void VerifyThrow() { var serializer = new ConfigurationContainer().EnableImplicitTyping(typeof(Entity), typeof(Entity2)) .WithUnknownContent() .Throw() .Create(); // language=XML const string content1 = @"<?xml version=""1.0"" encoding=""utf-8""?> <Issue271Tests-Entity> <Name>Foo</Name> <Show>false</Show> <Children> <Issue271Tests-Entity> <Name>Bar</Name> <Show>false</Show> </Issue271Tests-Entity> <Issue271Tests-Entity> <Name>Jim</Name> <Show>true</Show> </Issue271Tests-Entity> </Children> </Issue271Tests-Entity>" ; serializer.Invoking(x => x.Deserialize <Entity>(content1)) .Should().Throw <XmlException>() .WithMessage("Unknown/invalid member encountered: 'Show'. Line 4, position 7."); }
void Verify() { var serializer = new ConfigurationContainer().EnableMemberExceptionHandling() .Create() .ForTesting(); serializer.Invoking(x => x.Serialize(new Subject())) .ShouldThrowExactly <InvalidOperationException>() .WithMessage("An exception was encountered while serializing member 'ExtendedXmlSerializer.Tests.ReportedIssues.Issue214Tests+Subject.Message'. Provided instance is 'ExtendedXmlSerializer.Tests.ReportedIssues.Issue214Tests+Subject'.") .WithInnerException <InvalidOperationException>(); serializer.Invoking(x => x.Deserialize <Subject>(@"<?xml version=""1.0"" encoding=""utf-8""?><Issue214Tests-Subject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ReportedIssues;assembly=ExtendedXmlSerializer.Tests""><Message>Hello World!</Message></Issue214Tests-Subject>")) .ShouldThrowExactly <InvalidOperationException>() .WithMessage("An exception was encountered while deserializing member 'ExtendedXmlSerializer.Tests.ReportedIssues.Issue214Tests+Subject.Message'.") .WithInnerException <XmlException>(); }
void Verify() { var instance = new { Test = "Hello World!" }; var container = new ConfigurationContainer().Create().ForTesting(); container.Invoking(x => x.Serialize(instance)) .Should() .Throw <InvalidOperationException>() .WithMessage("Dynamic/anonymous types are not supported."); }
public void Verify() { var subject = new ConfigurationContainer().Create().ForTesting(); const string document = @"<?xml version=""1.0"" encoding=""utf-8""?><Issue558Tests-Subject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ReportedIssues;assembly=ExtendedXmlSerializer.Tests.ReportedIssues.DoesNotExist"" />"; subject.Invoking(x => x.Deserialize <Subject>(document)) .Should() .ThrowExactly <InvalidOperationException>() .WithMessage("Could not load assembly 'ExtendedXmlSerializer.Tests.ReportedIssues.DoesNotExist'. Are you sure it exists?"); }
public void VerifyThrow() { // language=XML const string input = @"<Zoo><Animals><Issue473Tests-Animal Name=""Hello""/><Human/><Issue473Tests-Animal Name=""World""/></Animals></Zoo>"; var serializer = new ConfigurationContainer().Type <Zoo>() .Name("Zoo") .EnableImplicitTyping(typeof(Zoo), typeof(Animal)) .WithUnknownContent() .Throw() .Create(); serializer.Invoking(x => x.Deserialize <Zoo>(input)) .Should() .Throw <XmlException>() .WithMessage("Unknown/invalid member encountered: 'Human'. Line 1, position 52."); }
public void Verify() { var serializer = new ConfigurationContainer().EnableMemberExceptionHandling() .WithUnknownContent() .Throw() .Create() .ForTesting(); var document = @"<?xml version=""1.0"" encoding=""utf-8""?> <Issue507Tests-Subject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ReportedIssues;assembly=ExtendedXmlSerializer.Tests.ReportedIssues""> <Message>hello world!</Message> <DoesNotExist>This is very broken</DoesNotExist> </Issue507Tests-Subject>"; serializer.Invoking(x => x.Deserialize <Subject>(document)) .Should() .Throw <XmlException>() .Which.LinePosition.Should() .BeGreaterThan(0); }
public void Verify() { const string content = @"<?xml version=""1.0"" encoding=""utf-8""?> <Issue571Tests-InputModelExample> <Configuration /> <ModuleStates> <Capacity>4</Capacity> <Issue571Tests-ModuleState> <Name>BUC</Name> </Issue571Tests-ModuleState> </ModuleStates> </Issue571Tests-InputModelExample>"; var subject = new ConfigurationContainer() .EnableImplicitTyping(typeof(InputModelExample), typeof(ModuleState)) .WithUnknownContent() .Throw() .Create() .ForTesting(); subject.Invoking(support => support.Deserialize <InputModelExample>(content)).Should().NotThrow(); }