public void TestBsonInt32Equals() { var a = new BsonInt32(1); var b = new BsonInt32(1); var c = new BsonInt64(1L); var d = new BsonDouble(1.0); var e = new BsonInt32(2); var f = new BsonInt64(2L); var g = new BsonDouble(2.0); var n = (BsonInt32)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); }