コード例 #1
0
        public void op_NumberPair_stringNull_string()
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws <ArgumentNullException>(() => writer.NumberPair(null, "123"));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }
コード例 #2
0
        public void op_NumberPair_string_stringEmpty(string value)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws <ArgumentOutOfRangeException>(() => writer.NumberPair("example", value));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }
コード例 #3
0
ファイル: JsonObject.cs プロジェクト: stephenpatten/cavity
        public virtual void WriteJson(JsonWriter writer)
        {
            if (null == writer)
            {
                throw new ArgumentNullException("writer");
            }

            foreach (var pair in this)
            {
                var obj = pair.Value as IJsonSerializable;
                if (null != obj)
                {
                    writer.Pair(pair.Name, obj);
                    continue;
                }

                var number = pair.Value as JsonNumber;
                if (null != number)
                {
                    writer.NumberPair(pair.Name, number.Value);
                    continue;
                }

                var str = pair.Value as JsonString;
                if (null != str)
                {
                    writer.Pair(pair.Name, str.Value);
                    continue;
                }

                var array = pair.Value as JsonArray;
                if (null != array)
                {
                    WriteJsonArray(writer, pair.Name, array);
                    continue;
                }

                if (pair.Value is JsonNull)
                {
                    writer.NullPair(pair.Name);
                }
                else if (pair.Value is JsonTrue)
                {
                    writer.Pair(pair.Name, true);
                }
                else if (pair.Value is JsonFalse)
                {
                    writer.Pair(pair.Name, false);
                }
            }
        }
コード例 #4
0
        public void op_NumberPair_string_string_whenArrayParent()
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    writer.Object();
                    writer.Array("example");

                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws <InvalidOperationException>(() => writer.NumberPair("name", "1.23"));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }
コード例 #5
0
        public void op_NumberPair_string_string(string value,
                                                string expected)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    writer.Object();
                    writer.NumberPair("example", value);
                    writer.EndObject();
                }

                using (var reader = new StreamReader(stream))
                {
                    var actual = reader.ReadToEnd();

                    Assert.Equal(expected, actual);
                }
            }
        }
コード例 #6
0
ファイル: JsonWriter.Facts.cs プロジェクト: KarlDirck/cavity
        public void op_NumberPair_string_string_whenArrayParent()
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    writer.Object();
                    writer.Array("example");

                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws<InvalidOperationException>(() => writer.NumberPair("name", "1.23"));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }
コード例 #7
0
ファイル: JsonWriter.Facts.cs プロジェクト: KarlDirck/cavity
        public void op_NumberPair_string_stringEmpty(string value)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws<ArgumentOutOfRangeException>(() => writer.NumberPair("example", value));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }
コード例 #8
0
ファイル: JsonWriter.Facts.cs プロジェクト: KarlDirck/cavity
        public void op_NumberPair_string_string(string value,
                                                string expected)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    writer.Object();
                    writer.NumberPair("example", value);
                    writer.EndObject();
                }

                using (var reader = new StreamReader(stream))
                {
                    var actual = reader.ReadToEnd();

                    Assert.Equal(expected, actual);
                }
            }
        }
コード例 #9
0
ファイル: JsonWriter.Facts.cs プロジェクト: KarlDirck/cavity
        public void op_NumberPair_stringNull_string()
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new JsonWriter(stream))
                {
                    // ReSharper disable AccessToDisposedClosure
                    Assert.Throws<ArgumentNullException>(() => writer.NumberPair(null, "123"));

                    // ReSharper restore AccessToDisposedClosure
                }
            }
        }