Example #1
0
        public void State()
        {
            using (JsonWriter jsonWriter = new JsonTokenWriter())
              {
            Assert.AreEqual(WriteState.Start, jsonWriter.WriteState);

            jsonWriter.WriteStartObject();
            Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

            jsonWriter.WritePropertyName("CPU");
            Assert.AreEqual(WriteState.Property, jsonWriter.WriteState);

            jsonWriter.WriteValue("Intel");
            Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

            jsonWriter.WritePropertyName("Drives");
            Assert.AreEqual(WriteState.Property, jsonWriter.WriteState);

            jsonWriter.WriteStartArray();
            Assert.AreEqual(WriteState.Array, jsonWriter.WriteState);

            jsonWriter.WriteValue("DVD read/writer");
            Assert.AreEqual(WriteState.Array, jsonWriter.WriteState);

            jsonWriter.WriteEnd();
            Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

            jsonWriter.WriteEndObject();
            Assert.AreEqual(WriteState.Start, jsonWriter.WriteState);
              }
        }
Example #2
0
    public void ValueFormatting()
    {
      JContainer root;
      using (JsonTokenWriter jsonWriter = new JsonTokenWriter())
      {
        jsonWriter.WriteStartArray();
        jsonWriter.WriteValue('@');
        jsonWriter.WriteValue("\r\n\t\f\b?{\\r\\n\"\'");
        jsonWriter.WriteValue(true);
        jsonWriter.WriteValue(10);
        jsonWriter.WriteValue(10.99);
        jsonWriter.WriteValue(0.99);
        jsonWriter.WriteValue(0.000000000000000001d);
        jsonWriter.WriteValue(0.000000000000000001m);
        jsonWriter.WriteValue(null);
        jsonWriter.WriteValue("This is a string.");
        jsonWriter.WriteNull();
        jsonWriter.WriteUndefined();
        jsonWriter.WriteEndArray();

        root = jsonWriter.Token;
      }

      Assert.IsInstanceOfType(typeof(JArray), root);
      Assert.AreEqual(12, root.Children().Count());
      Assert.AreEqual("@", (string)root[0]);
      Assert.AreEqual("\r\n\t\f\b?{\\r\\n\"\'", (string)root[1]);
      Assert.AreEqual(true, (bool)root[2]);
      Assert.AreEqual(10, (int)root[3]);
      Assert.AreEqual(10.99, (double)root[4]);
      Assert.AreEqual(0.99, (double)root[5]);
      Assert.AreEqual(0.000000000000000001d, (double)root[6]);
      Assert.AreEqual(0.000000000000000001m, (decimal)root[7]);
      Assert.AreEqual(string.Empty, (string)root[8]);
      Assert.AreEqual("This is a string.", (string)root[9]);
      Assert.AreEqual(null, ((JValue)root[10]).Value);
    }