public void ReaderTests()
        {
            var node = this.ReadNode(EmptyDataStore, isDataStoreJson: true);
            Assert.True(object.ReferenceEquals(DataStoreTests.EmptyDataStore, node));

            node = this.ReadNode(TextValueRoot, isDataStoreJson: true);
            Assert.True(DataStoreTests.TextValueRoot.Equals(node));

            node = this.ReadNode(EmptyObjectRoot, isDataStoreJson: true);
            Assert.True(DataStoreTests.EmptyObjectRoot.Equals(node));

            node = this.ReadNode(EmptyValueRoot, isDataStoreJson: true);
            Assert.True(DataStoreTests.EmptyValueRoot.Equals(node));

            node = this.ReadNode(SimpleRoot, isDataStoreJson: true);
            Assert.True(DataStoreTests.SimpleRoot.Equals(node));


            node = this.ReadNode(EmptyDataStore, isDataStoreJson: false);
            IDataStoreNode expectedNode = new DataStoreObject("root");
            Assert.True(expectedNode.Equals(node));

            node = this.ReadNode(TextValueRoot, isDataStoreJson: false);
            expectedNode = new DataStoreObject(
                "root",
                new DataStoreTextValue("textRoot", "abc"));
            Assert.True(expectedNode.Equals(node));

            node = this.ReadNode(EmptyObjectRoot, isDataStoreJson: false);
            expectedNode = new DataStoreObject(
                "root",
                new DataStoreObject("objectRoot"));
            Assert.True(expectedNode.Equals(node));
        }