public void TestClone()
        {
            var array = new BsonArray(4)
            {
                1, 2, new BsonArray(3)
                {
                    3, 4
                }
            };
            var clone = (BsonArray)array.Clone();

            Assert.AreEqual(4, clone.Capacity);
            Assert.AreEqual(3, clone.Count);
            Assert.AreEqual(1, clone[0].AsInt32);
            Assert.AreEqual(2, clone[1].AsInt32);
            Assert.AreSame(array[2], clone[2]); // not deep cloned
        }
 public void TestClone()
 {
     var array = new BsonArray(4) { 1, 2, new BsonArray(3) { 3, 4 } };
     var clone = (BsonArray)array.Clone();
     Assert.AreEqual(4, clone.Capacity);
     Assert.AreEqual(3, clone.Count);
     Assert.AreEqual(1, clone[0].AsInt32);
     Assert.AreEqual(2, clone[1].AsInt32);
     Assert.AreSame(array[2], clone[2]); // not deep cloned
 }