Exemplo n.º 1
0
        private static void Read( string content, params RawJson[] raw )
        {
            var sr = new StringReader(content);
            using( var reader = new JsonReader(sr) )
            {
                Assert.Throws<InvalidOperationException>(() => reader.Token.NotNullReference());
                Assert.Throws<InvalidOperationException>(() => reader.RawValue.NotNullReference());

                if( raw.NullReference()
                 || raw.Length == 0 )
                {
                    Assert.False(reader.Read());
                }
                else
                {
                    foreach( var r in raw )
                    {
                        Assert.True(reader.Read());

                        Assert.AreEqual(r.Token, reader.Token);
                        Test.OrdinalEquals(r.RawValue, reader.RawValue);
                    }
                    Assert.False(reader.Read());
                }

                Assert.False(reader.Read());
                Assert.Throws<InvalidOperationException>(() => reader.Token.NotNullReference());
                Assert.Throws<InvalidOperationException>(() => reader.RawValue.NotNullReference());
            }
        }