public void TestNonStringAttr()
        {
            ReportReaderHelpers.CreateReader().ReadFromString
            <CWithNonStringProp>(
                @"<root A='1'></root>
").Should().BeEquivalentTo(new CWithNonStringProp {
                A = 1
            });
        }
        public void TestDuplicateItemsWithNoExceptionWhenDuplicateElement()
        {
            ReportReaderHelpers.CreateReader().ReadFromString <CForDuplicateTest>(
                @"<root>
    <A>1</A>
    <B>x</B>
    <B>y</B>
    <A>2</A>
</root>
").Should().BeEquivalentTo(new CForDuplicateTest {
                A = 2, B = new[] { "x", "y" }
            });
        }
        public void TestDuplicateItemsInArrayWithExceptionWhenDuplicateElement()
        {
            var configuration = new OnDeserializeConfiguration();

            configuration.OnDuplicateElement += delegate(object sender, DeserializationContext context) { throw new InvalidOperationException($"Duplicate element '{context.CurrentElementLocalName}'"); };

            Assert.That(() => ReportReaderHelpers.CreateReader(configuration).ReadFromString <CForDuplicateTest>(
                            @"<root>
    <B>x</B>
    <B>y</B>
    <A>2</A>
    <B>z</B>
</root>
"), Throws.Exception.TypeOf <InvalidOperationException>().With.Message.EqualTo("Duplicate element 'B'"));
        }
 public void TestArrayOfArrays()
 {
     Assert.That(() => ReportReaderHelpers.CreateReader().ReadFromString <string[][]>("<xxx />"), Throws.Exception.TypeOf <NotSupportedException>().With.Message.EqualTo("массив массивов"));
 }
 public void TestObjectDisabled()
 {
     Assert.That(() => ReportReaderHelpers.CreateReader().ReadFromString <object>("<xxx />"), Throws.Exception.TypeOf <NotSupportedException>().With.Message.EqualTo("Type 'System.Object' cannot be deserialized"));
 }
 public void TestNonVisibleClassesNotSupported()
 {
     Assert.That(() => ReportReaderHelpers.CreateReader().ReadFromString <CInvisible>("<xxx />"), Throws.Exception.TypeOf <NotSupportedException>().With.Message.Matches("Type '.*CInvisible' should be visible outside assembly"));
 }
 public void TestMultidimensionalArray()
 {
     Assert.That(() => ReportReaderHelpers.CreateReader().ReadFromString <string[, ]>("<xxx />"), Throws.Exception.TypeOf <NotSupportedException>().With.Message.EqualTo("многомерный массив"));
 }
Example #8
0
        public void TestEmptyNvc()
        {
            var reportReader = ReportReaderHelpers.CreateReader();

            Assert.Throws <NotSupportedException>(() => reportReader.Read <C1>(new NameValueCollection()));
        }