Exemplo n.º 1
0
        public void equality()
        {
            Assert.IsTrue(new Key("a test key number 1").Equals(new Key("a test key number 1")));
            Assert.IsFalse(new Key("a test key number 1").Equals(new Key("a test key number 2")));

            Assert.AreEqual(new Key("a test key number 1").GetHashCode(),
                          new Key("a test key number 1").GetHashCode());

            // test Keys.equals ()
            Keys keys1 = new Keys();
            keys1.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 1"));
            keys1.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("dual key 2"));

            keys1.Add(KeyScheme.Sha1Producer, new Key("producer key 1"));
            keys1.Add(KeyScheme.Sha1Consumer, new Key("consumer key 1"));

            Keys keys2 = new Keys();
            keys2.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 1"));
            keys2.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("dual key 2"));

            keys2.Add(KeyScheme.Sha1Producer, new Key("producer key 1"));
            keys2.Add(KeyScheme.Sha1Consumer, new Key("consumer key 1"));

            Assert.AreEqual(keys1.GetHashCode(), keys2.GetHashCode());
            Assert.AreEqual(keys1, keys2);

            keys2.Remove(KeyScheme.Sha1Consumer, new Key("consumer key 1"));

            Assert.IsFalse(keys1.Equals(keys2));
        }