Inheritance: Jayrock.Json.JsonWriterBase
 public void WriteEmptyObject()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteStartObject();
     writer.WriteEndObject();
     Assert.AreEqual(0, ((IDictionary) writer.Value).Count);
 }
        public void WriteTrueBoolean()
        {
            JsonImportingWriter writer = new JsonImportingWriter();

            writer.WriteBoolean(true);
            Assert.AreEqual(true, GetSingleValue(writer));
        }
示例#3
0
        public void WriteNumber()
        {
            var writer = new JsonImportingWriter();

            writer.WriteNumber("1234");
            Assert.AreEqual(new JsonNumber("1234"), GetSingleValue(writer));
        }
 public void Blank()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     Assert.IsNull(writer.Value);
     Assert.IsFalse(writer.IsArray);
     Assert.IsFalse(writer.IsObject);
 }
示例#5
0
        public void WriteString()
        {
            var writer = new JsonImportingWriter();

            writer.WriteString("foobar");
            Assert.AreEqual("foobar", GetSingleValue(writer));
        }
示例#6
0
        public void WriteNull()
        {
            var writer = new JsonImportingWriter();

            writer.WriteNull();
            Assert.AreEqual(null, GetSingleValue(writer));
        }
示例#7
0
        public void WriteFalseBoolean()
        {
            var writer = new JsonImportingWriter();

            writer.WriteBoolean(false);
            Assert.AreEqual(false, GetSingleValue(writer));
        }
示例#8
0
        public void WriteEmptyArray()
        {
            var writer = new JsonImportingWriter();

            writer.WriteStringArray();
            Assert.AreEqual(new object[0], GetArray(writer));
        }
示例#9
0
        public void WriteEmptyObject()
        {
            var writer = new JsonImportingWriter();

            writer.WriteStartObject();
            writer.WriteEndObject();
            Assert.AreEqual(0, ((IDictionary)writer.Value).Count);
        }
示例#10
0
        public void Blank()
        {
            var writer = new JsonImportingWriter();

            Assert.IsNull(writer.Value);
            Assert.IsFalse(writer.IsArray);
            Assert.IsFalse(writer.IsObject);
        }
示例#11
0
        static object[] GetArray(JsonImportingWriter writer)
        {
            Assert.IsTrue(writer.IsArray);
            Assert.IsFalse(writer.IsObject);
            var collection = ((ICollection)writer.Value);
            var result     = new object[collection.Count];

            collection.CopyTo(result, 0);
            return(result);
        }
示例#12
0
 public void WriteArray()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteStartArray();
     writer.WriteNumber(123);
     writer.WriteString("Hello World");
     writer.WriteBoolean(true);
     writer.WriteEndArray();
     Assert.AreEqual(new object[] { new JsonNumber("123"), "Hello World", true }, GetArray(writer));
 }
示例#13
0
        public void WriteArray()
        {
            var writer = new JsonImportingWriter();

            writer.WriteStartArray();
            writer.WriteNumber(123);
            writer.WriteString("Hello World");
            writer.WriteBoolean(true);
            writer.WriteEndArray();
            Assert.AreEqual(new object[] { new JsonNumber("123"), "Hello World", true }, GetArray(writer));
        }
示例#14
0
        static object GetSingleValue(JsonImportingWriter writer)
        {
            Assert.IsTrue(writer.IsArray);
            Assert.IsFalse(writer.IsObject);
            var e = ((IEnumerable)writer.Value).GetEnumerator();

            Assert.IsTrue(e.MoveNext());
            var result = e.Current;

            Assert.IsFalse(e.MoveNext());
            return(result);
        }
示例#15
0
        public void WriteObject()
        {
            var writer = new JsonImportingWriter();

            writer.WriteStartObject();
            writer.WriteMember("Name");
            writer.WriteString("John Doe");
            writer.WriteMember("Salary");
            writer.WriteNumber(123456789);
            writer.WriteEndObject();
            Assert.IsNotNull(writer.Value);
            var obj = (IDictionary)writer.Value;

            Assert.AreEqual(2, obj.Count);
            Assert.AreEqual("John Doe", obj["Name"]);
            Assert.AreEqual(123456789, Convert.ToInt32(obj["Salary"]));
        }
        public void WriteFromReader()
        {
            JsonTextReader reader = new JsonTextReader(new StringReader(@"
                { 'menu': {
                    'id': 'file',
                    'value': 'File:',
                    'popup': {
                      'menuitem': [
                        {'value': 'New', 'onclick': 'CreateNewDoc()'},
                        {'value': 'Open', 'onclick': 'OpenDoc()'},
                        {'value': 'Close', 'onclick': 'CloseDoc()'}
                      ]
                    }
                  }
                }"));

            JsonImportingWriter writer = new JsonImportingWriter();

            writer.WriteFromReader(reader);

            IDictionary root = (IDictionary)writer.Value;

            Assert.AreEqual(1, root.Count);
            IDictionary menu = (IDictionary)root["menu"];

            Assert.AreEqual(3, menu.Count);
            Assert.AreEqual("file", menu["id"]);
            Assert.AreEqual("File:", menu["value"]);
            IDictionary popup = (IDictionary)menu["popup"];

            Assert.AreEqual(1, popup.Count);
            IList menuitems = (IList)popup["menuitem"];

            Assert.AreEqual(3, menuitems.Count);
            IDictionary menuitem;

            menuitem = (IDictionary)menuitems[0];
            Assert.AreEqual("New", menuitem["value"]);
            Assert.AreEqual("CreateNewDoc()", menuitem["onclick"]);
            menuitem = (IDictionary)menuitems[1];
            Assert.AreEqual("Open", menuitem["value"]);
            Assert.AreEqual("OpenDoc()", menuitem["onclick"]);
            menuitem = (IDictionary)menuitems[2];
            Assert.AreEqual("Close", menuitem["value"]);
            Assert.AreEqual("CloseDoc()", menuitem["onclick"]);
        }
示例#17
0
 public void WriteNull()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteNull();
     Assert.AreEqual(null, GetSingleValue(writer));
 }
示例#18
0
 public void WriteFalseBoolean()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteBoolean(false);
     Assert.AreEqual(false, GetSingleValue(writer));
 }
示例#19
0
 public void WriteObject()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteStartObject();
     writer.WriteMember("Name");
     writer.WriteString("John Doe");
     writer.WriteMember("Salary");
     writer.WriteNumber(123456789);
     writer.WriteEndObject();
     Assert.IsNotNull(writer.Value);
     IDictionary obj = (IDictionary) writer.Value;
     Assert.AreEqual(2, obj.Count);
     Assert.AreEqual("John Doe", obj["Name"]);
     Assert.AreEqual(123456789, Convert.ToInt32(obj["Salary"]));
 }
示例#20
0
 public void WriteNumber()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteNumber("1234");
     Assert.AreEqual(new JsonNumber("1234"), GetSingleValue(writer));
 }
示例#21
0
 public void WriteString()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteString("foobar");
     Assert.AreEqual("foobar", GetSingleValue(writer));
 }
示例#22
0
 private static object[] GetArray(JsonImportingWriter writer)
 {
     Assert.IsTrue(writer.IsArray);
     Assert.IsFalse(writer.IsObject);
     ICollection collection = ((ICollection) writer.Value);
     object[] result = new object[collection.Count];
     collection.CopyTo(result, 0);
     return result;
 }
示例#23
0
 private static object GetSingleValue(JsonImportingWriter writer)
 {
     Assert.IsTrue(writer.IsArray);
     Assert.IsFalse(writer.IsObject);
     IEnumerator e = ((IEnumerable)writer.Value).GetEnumerator();
     Assert.IsTrue(e.MoveNext());
     object result = e.Current;
     Assert.IsFalse(e.MoveNext());
     return result;
 }
示例#24
0
 public void WriteEmptyArray()
 {
     JsonImportingWriter writer = new JsonImportingWriter();
     writer.WriteStringArray(new string[0]);
     Assert.AreEqual(new object[0], GetArray(writer));
 }
示例#25
0
        public void WriteFromReader()
        {
            JsonTextReader reader = new JsonTextReader(new StringReader(@"
                { 'menu': {
                    'id': 'file',
                    'value': 'File:',
                    'popup': {
                      'menuitem': [
                        {'value': 'New', 'onclick': 'CreateNewDoc()'},
                        {'value': 'Open', 'onclick': 'OpenDoc()'},
                        {'value': 'Close', 'onclick': 'CloseDoc()'}
                      ]
                    }
                  }
                }"));

            JsonImportingWriter writer = new JsonImportingWriter();
            writer.WriteFromReader(reader);

            IDictionary root = (IDictionary) writer.Value;
            Assert.AreEqual(1, root.Count);
            IDictionary menu = (IDictionary) root["menu"];
            Assert.AreEqual(3, menu.Count);
            Assert.AreEqual("file", menu["id"]);
            Assert.AreEqual("File:", menu["value"]);
            IDictionary popup = (IDictionary) menu["popup"];
            Assert.AreEqual(1, popup.Count);
            IList menuitems = (IList) popup["menuitem"];
            Assert.AreEqual(3, menuitems.Count);
            IDictionary menuitem;
            menuitem = (IDictionary) menuitems[0];
            Assert.AreEqual("New", menuitem["value"]);
            Assert.AreEqual("CreateNewDoc()", menuitem["onclick"]);
            menuitem = (IDictionary) menuitems[1];
            Assert.AreEqual("Open", menuitem["value"]);
            Assert.AreEqual("OpenDoc()", menuitem["onclick"]);
            menuitem = (IDictionary) menuitems[2];
            Assert.AreEqual("Close", menuitem["value"]);
            Assert.AreEqual("CloseDoc()", menuitem["onclick"]);
        }