public void xml_document()
    {
      Assert.Throws<ArgumentNullException>(() => XmlExtensions.XmlDocument(null));
      Assert.Throws<XmlException>(() => TextReader.Null.XmlDocument());

      const string Xml = "<?xml version=\"1.0\" encoding=\"utf-16\"?><article>text</article>";

      using (var reader = new StringReader(Xml))
      {
        Assert.Equal(Xml, reader.XmlDocument().String());
        Assert.Equal(-1, reader.Read());
      }

      using (var reader = new StringReader(Xml))
      {
        Assert.Equal(Xml, reader.XmlDocument(true).String());
        Assert.Throws<ObjectDisposedException>(() => reader.Read());
      }
    }