コード例 #1
0
        public void InterningWorks()
        {
            Key keyFoo = new Key("foo");
            Key keyBar = new Key("bar");

            Key keyFoo2 = new Key(bytesFoo);

            Assert.Equal("foo", keyFoo2.ToString());

            // Self
            Assert.True(keyFoo.Equals(keyFoo));
            Assert.True(keyFoo.Equals((KeyRef)keyFoo));
            Assert.True(keyFoo.Equals((object)keyFoo));
            Assert.True(keyFoo.Equals(keyFoo.AsKeyRef()));

            // Similar
            Assert.True(keyFoo.Equals(keyFoo2));
            Assert.True(keyFoo.Equals((object)keyFoo2));
            Assert.True(keyFoo.Equals((KeyRef)keyFoo2));
            Assert.True(keyFoo.Equals(keyFoo2.AsKeyRef()));

            // Different
            Assert.False(keyFoo.Equals(keyBar));
            Assert.False(keyFoo.Equals((object)keyBar));
            Assert.False(keyFoo.Equals((KeyRef)keyBar));
            Assert.False(keyFoo.Equals(keyBar.AsKeyRef()));
        }