예제 #1
0
        public async Task SwapDuplicatesOriginal()
        {
            var source = CreateBackedStore();

            source.Object.UntransactedRoot.File("Hello.Txt").Create("eee");
            var ss       = new SwapableStore(source.Object);
            var newStore = CreateBackedStore();
            await ss.CopyAndTransferToNewStore(newStore.Object);

            newStore.Object.UntransactedRoot.File("Hello.Txt").AssertContent("eee");
        }
예제 #2
0
        public void SwapableStorePostSwao()
        {
            var initialStore = CreateBackedStore();
            var tester       = new WrapperTest <ITransactableStore>(i =>
            {
                var swapable = new SwapableStore(initialStore.Object);
                AsyncPump.Run(() => swapable.CopyAndTransferToNewStore(i));
                return(swapable);
            });

            tester.RegisterTypeCreator(() => new MockDirectory("c:\\a") as IDirectory);
            tester.AssertAllMethodsForward();

            initialStore.VerifyGet(i => i.UntransactedRoot, Times.Once);
            initialStore.VerifyNoOtherCalls();
        }