public void computeDeltaSingleScheme() { Keys keys1 = new Keys(); Keys keys2 = new Keys(); Key key1 = new Key("key 1"); Key key2 = new Key("key 2"); Delta delta = keys1.DeltaFrom(keys2); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Consumer).Count); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Dual).Count); Assert.AreEqual(0, delta.Removed.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(0, delta.Removed.KeysetFor(KeyScheme.Sha1Consumer).Count); Assert.AreEqual(0, delta.Removed.KeysetFor(KeyScheme.Sha1Dual).Count); // add a single producer key keys2.Add(KeyScheme.Sha1Producer, key1); delta = keys1.DeltaFrom(keys2); Assert.AreEqual(1, delta.Added.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(0, delta.Removed.KeysetFor(KeyScheme.Sha1Producer).Count); checkApplyDelta(delta, keys1, keys2); // remove a single producer key keys1.Add(KeyScheme.Sha1Producer, key2); delta = keys1.DeltaFrom(keys2); Assert.AreEqual(1, delta.Added.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(1, delta.Removed.KeysetFor(KeyScheme.Sha1Producer).Count); checkApplyDelta(delta, keys1, keys2); // key1 is now in both sets keys1.Add(KeyScheme.Sha1Producer, key1); delta = keys1.DeltaFrom(keys2); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(1, delta.Removed.KeysetFor(KeyScheme.Sha1Producer).Count); // key2 is not in both keys2.Add(KeyScheme.Sha1Producer, key2); delta = keys1.DeltaFrom(keys2); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Producer).Count); Assert.AreEqual(0, delta.Removed.KeysetFor(KeyScheme.Sha1Producer).Count); checkApplyDelta(delta, keys1, keys2); }
public void computeDeltaDual() { Keys keys1 = new Keys(); Keys keys2 = new Keys(); Key key1 = new Key("key 1"); Key key2 = new Key("key 2"); Key key3 = new Key("key 3"); keys1.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, key1); keys1.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, key2); keys1.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, key3); keys2.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, key3); keys2.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, key3); Delta delta = keys1.DeltaFrom(keys2); Assert.AreEqual(1, delta.Added.KeysetFor(KeyScheme.Sha1Dual).ProducerKeys.Count); Assert.AreEqual(1, delta.Removed.KeysetFor(KeyScheme.Sha1Dual).ProducerKeys.Count); Assert.AreEqual(0, delta.Added.KeysetFor(KeyScheme.Sha1Dual).ConsumerKeys.Count); Assert.AreEqual(1, delta.Removed.KeysetFor(KeyScheme.Sha1Dual).ConsumerKeys.Count); checkApplyDelta(delta, keys1, keys2); }