public void TestBsonInt64Equals()
{
var a = new BsonInt64(1L);
var b = new BsonInt64(1L);
var c = new BsonInt32(1);
var d = new BsonDouble(1.0);
var e = new BsonInt64(2L);
var f = new BsonInt32(2);
var g = new BsonDouble(2.0);
var n = (BsonInt64)null;
Assert.IsTrue(object.Equals(a, b));
Assert.IsFalse(object.Equals(a, c));
Assert.IsFalse(object.Equals(a, d));
Assert.IsFalse(object.Equals(a, e));
Assert.IsFalse(object.Equals(a, f));
Assert.IsFalse(object.Equals(a, g));
Assert.IsFalse(object.Equals(a, BsonNull.Value));
Assert.IsFalse(a.Equals(n));
Assert.IsFalse(a.Equals(null));
Assert.IsTrue(a == b);
Assert.IsTrue(a == c);
Assert.IsTrue(a == d);
Assert.IsFalse(a == e);
Assert.IsFalse(a == f);
Assert.IsFalse(a == g);
Assert.IsFalse(a == BsonNull.Value);
Assert.IsFalse(a == null);
Assert.IsFalse(null == a);
Assert.IsTrue(n == null);
Assert.IsTrue(null == n);
Assert.IsFalse(a != b);
Assert.IsFalse(a != c);
Assert.IsFalse(a != d);
Assert.IsTrue(a != e);
Assert.IsTrue(a != f);
Assert.IsTrue(a != g);
Assert.IsTrue(a != BsonNull.Value);
Assert.IsTrue(a != null);
Assert.IsTrue(null != a);
Assert.IsFalse(n != null);
Assert.IsFalse(null != n);
}