public void ShouldLoadExistingObject()
        {
            var mockStore = new Mock <IKVStore>();
            var testObjA  = new TestObjA()
            {
                SomeProp1 = "Something"
            };

            mockStore.Setup(m => m.Get <TestObjA>("TestObjAs:10")).Returns(testObjA);

            var store = new KVRelationalStore(mockStore.Object, _storeSchema);

            var item = store.Get <TestObjA>(10);

            Assert.IsNotNull(item.Value);
            Assert.AreEqual(testObjA.SomeProp1, item.Value.SomeProp1);
        }
        public void ShouldSaveObject()
        {
            var mockStore = new Mock <IKVStore>();

            mockStore.Setup(m => m.GetNextSequenceValue("TestObjAs:i")).Returns(10).Verifiable();
            var testObjA = new TestObjA()
            {
                SomeProp1 = "Something"
            };

            mockStore.Setup(m => m.Set("TestObjAs:10", testObjA)).Verifiable();

            var store = new KVRelationalStore(mockStore.Object, _storeSchema);

            var obj = store.New <TestObjA>();

            obj.Value = testObjA;
            store.Save(obj);

            obj.Get <TestObjB>();


            mockStore.Verify();
        }