public void IO() { using (MemoryStream buff = new MemoryStream()) { 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")); keys.Add(KeyScheme.Sha1Consumer, new Key("consumer key 2")); // test roundtrip encode/decode keys.Encode(buff); buff.Seek(0, SeekOrigin.Begin); // reset to start Keys newKeys = Keys.Decode(buff); Assert.IsTrue(keys.Equals(newKeys)); } }
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)); }