public void addRemove() { Keys keys = new Keys(); keys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 1")); keys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("dual key 2")); keys.Add(KeyScheme.Sha1Producer, new Key("producer key 1")); keys.Add(KeyScheme.Sha1Consumer, new Key("consumer key 1")); DualKeySet dualKeys = keys.KeysetFor(KeyScheme.Sha1Dual); Assert.AreEqual(1, dualKeys.ConsumerKeys.Count); Assert.AreEqual(1, dualKeys.ProducerKeys.Count); keys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 3")); Assert.AreEqual(2, keys.KeysetFor(KeyScheme.Sha1Dual).ProducerKeys.Count); keys.Remove(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 3")); Assert.AreEqual(1, keys.KeysetFor(KeyScheme.Sha1Dual).ProducerKeys.Count); keys.Remove(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("dual key 1")); Assert.AreEqual(0, keys.KeysetFor(KeyScheme.Sha1Dual).ProducerKeys.Count); // remove a non-existent key, check nothing Bad happens keys.Remove(KeyScheme.Sha1Consumer, new Key("blah")); keys.Remove(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("dual key 2")); Assert.AreEqual(0, keys.KeysetFor(KeyScheme.Sha1Dual).ConsumerKeys.Count); SingleKeySet consumerKeys = keys.KeysetFor(KeyScheme.Sha1Consumer); Assert.AreEqual(1, consumerKeys.Count); keys.Remove(KeyScheme.Sha1Consumer, new Key("consumer key 1")); Assert.AreEqual(0, consumerKeys.Count); SingleKeySet producerKeys = keys.KeysetFor(KeyScheme.Sha1Producer); Assert.AreEqual(1, producerKeys.Count); keys.Remove(KeyScheme.Sha1Producer, new Key("producer key 1")); Assert.AreEqual(0, producerKeys.Count); Assert.IsTrue(keys.IsEmpty); // remove a non-existent key, check nothing Bad happens keys.Remove(KeyScheme.Sha1Consumer, new Key("blah")); }
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)); }