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)); } }