Ejemplo n.º 1
0
 /// <summary>
 /// Check applying delta to keys1 gives keys2
 /// </summary>
 /// <param name="delta"></param>
 /// <param name="keys1"></param>
 /// <param name="keys2"></param>
 private static void checkApplyDelta(Delta delta,
                                      Keys keys1, Keys keys2)
 {
     Assert.AreEqual(keys1.Alter(delta.Added, delta.Removed), keys2);
 }
Ejemplo n.º 2
0
        public void delta()
        {
            Keys addedKeys = new Keys();
            Keys removedKeys = new Keys();
            Keys baseKeys = new Keys();

            addedKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("added/removed key"));
            addedKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("added key 1"));
            addedKeys.Add(KeyScheme.Sha1Producer, new Key("added key 2"));

            removedKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("added/removed key"));
            removedKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("non existent key"));
            removedKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("removed key"));

            baseKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("kept key"));
            baseKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("removed key"));

            Keys delta = baseKeys.Alter(addedKeys, removedKeys);

            Keys correctKeys = new Keys();
            correctKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("added key 1"));
            correctKeys.Add(KeyScheme.Sha1Producer, new Key("added key 2"));
            correctKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Producer, new Key("kept key"));

            Assert.AreEqual(correctKeys, delta);

            // check delta works with empty keys
            Keys keys4 = Keys.EmptyKeys.Alter(addedKeys, removedKeys);

            correctKeys = new Keys();
            correctKeys.Add(KeyScheme.Sha1Dual, DualKeyScheme.Subset.Consumer, new Key("added key 1"));
            correctKeys.Add(KeyScheme.Sha1Producer, new Key("added key 2"));

            Assert.AreEqual(correctKeys, keys4);
        }