public void MergeNull()
        {
            JConstructor c = new JConstructor();
            c.Merge(null);
            Assert.Equal(null, c.Name);
            Assert.Equal(0, c.Count);

            JObject o = new JObject();
            o.Merge(null);
            Assert.Equal(0, o.Count);

            JArray a = new JArray();
            a.Merge(null);
            Assert.Equal(0, a.Count);

            JProperty p = new JProperty("name1");
            p.Merge(null);
            Assert.Equal("name1", p.Name);
            Assert.Equal(0, p.Count);
        }
        public void MergeJConstructor()
        {
            JConstructor c1 = new JConstructor("c1", new[] { 1, 2 });
            JConstructor c2 = new JConstructor("c2", new[] { 3, 4 });

            c1.Merge(c2);
            Assert.Equal("c2", c1.Name);
            Assert.Equal(new[] { 1, 2, 3, 4 }, c1.Select(i => (int)i));

            JConstructor c3 = new JConstructor();
            c1.Merge(c3);
            Assert.Equal("c2", c1.Name);

            JConstructor c4 = new JConstructor("c4", new[] { 5, 6 });
            c1.Merge(c4, new JsonMergeSettings
            {
                MergeArrayHandling = MergeArrayHandling.Replace
            });
            Assert.Equal("c4", c1.Name);
            Assert.Equal(new[] { 5, 6 }, c1.Select(i => (int)i));
        }