public void TestBsonJavaScriptWithScopeEquals() { var a = new BsonJavaScriptWithScope("script 1", new BsonDocument("x", 1)); var b = new BsonJavaScriptWithScope("script 1", new BsonDocument("x", 1)); var c = new BsonJavaScriptWithScope("script 2", new BsonDocument("x", 1)); var d = new BsonJavaScriptWithScope("script 2", new BsonDocument("x", 2)); var n = (BsonJavaScript)null; Assert.IsTrue(object.Equals(a, b)); Assert.IsFalse(object.Equals(a, c)); Assert.IsFalse(object.Equals(a, d)); Assert.IsFalse(object.Equals(c, d)); Assert.IsFalse(object.Equals(a, BsonNull.Value)); Assert.IsFalse(a.Equals(n)); Assert.IsFalse(a.Equals(null)); Assert.IsTrue(a == b); Assert.IsFalse(a == c); Assert.IsFalse(b == d); Assert.IsFalse(c == d); 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.IsTrue(a != c); Assert.IsTrue(b != d); Assert.IsTrue(c != d); Assert.IsTrue(a != BsonNull.Value); Assert.IsTrue(a != null); Assert.IsTrue(null != a); Assert.IsFalse(n != null); Assert.IsFalse(null != n); }