public void TestAsNullableDateTime()
        {
            var       utcNow          = DateTime.UtcNow;
            var       utcNowTruncated = utcNow.AddTicks(-(utcNow.Ticks % 10000));
            BsonValue v = utcNow;
            BsonValue n = BsonNull.Value;
            BsonValue s = "";

            Assert.AreEqual(utcNowTruncated, v.ToNullableUniversalTime());
            Assert.AreEqual(null, n.ToNullableUniversalTime());
#pragma warning disable 618
            Assert.Throws <InvalidCastException>(() => { var x = s.AsNullableDateTime; });
#pragma warning restore
            Assert.Throws <NotSupportedException>(() => { var x = s.ToNullableUniversalTime(); });
        }