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(); }); }