public void Equals()
        {
            // overriden Equals with weird behavior to confirm it can't be anything else
            using (var x = new FakeNativeObject((IntPtr)42, true)) {
                Assert.False(x.Equals(x), "self");
                Assert.True(x.Equals(null), "null");
            }
#if NET
            // check that equality is based on handle only (and not System.Object.Equals)
            using (var n1 = new NativeObjectPoker((IntPtr)42))
                using (var n2 = new NativeObjectPoker((IntPtr)42))
                    Assert.True(n1.Equals(n2), "1");
#endif
        }