>     DummyAtomicKVS as AtomicKeyValue .newKey(key, val, cb(err)) should store a new key/value pair, given that key does not already exist:   ․ DummyAtomicKVS as AtomicKeyValue .newKey(key, val, cb(err)) should store a new key/value pair, given that key does not already exist
>     DummyAtomicKVS as AtomicKeyValue .newKey(key, val, cb(err)) should emit an error when the key already exists:   ․ DummyAtomicKVS as AtomicKeyValue .newKey(key, val, cb(err)) should emit an error when the key already exists
>     DummyAtomicKVS as AtomicKeyValue .retrieve(key, cb(err, val)) should emit an error if the value does not exist:   ․ DummyAtomicKVS as AtomicKeyValue .retrieve(key, cb(err, val)) should emit an error if the value does not exist
>     DummyAtomicKVS as AtomicKeyValue .modify(key, oldVal, newVal, cb(err, valAfterMod)) should change the value under key to newVal, given that the previous value was oldVal:   ․ DummyAtomicKVS as AtomicKeyValue .modify(key, oldVal, newVal, cb(err, valAfterMod)) should change the value under key to newVal, given that the previous value was oldVal
>     DummyAtomicKVS as AtomicKeyValue .modify(key, oldVal, newVal, cb(err, valAfterMod)) should not change the value under key if the current value does not equal oldVal:   ․ DummyAtomicKVS as AtomicKeyValue .modify(key, oldVal, newVal, cb(err, valAfterMod)) should not change the value under key if the current value does not equal oldVal
68,71c73,76
<     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should return version vm which is a merge of both versions v1 and v2:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should return version vm which is a merge of both versions v1 and v2
<     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should record the merge so that further merges would work:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should record the merge so that further merges would work
<     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should report a conflict as an error, when one occurs:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should report a conflict as an error, when one occurs
<     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should resolve conflicts if asked to, by prioritizing v1 over v2:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm, c)) should resolve conflicts if asked to, by prioritizing v1 over v2
---
>     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should return version vm which is a merge of both versions v1 and v2:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should return version vm which is a merge of both versions v1 and v2
>     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should record the merge so that further merges would work:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should record the merge so that further merges would work
>     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should report a conflict as an error, when one occurs:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should report a conflict as an error, when one occurs
>     MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should resolve conflicts if asked to, by prioritizing v1 over v2:   ․ MergingStateStore .merge(v1, v2[, resolve], cb(err, vm)) should resolve conflicts if asked to, by prioritizing v1 over v2
133c138
<   130 passing (2s)
---
>   135 passing (2s)