public void UpdatePublishedVersionWithLessVersion()
        {
            var store = new RedisPublishedVersionStore();

            store.Initialize(_redisConfiguration, "demo");
            var aggregateRootId = $"B{DateTime.Now.Ticks}";

            try
            {
                store.UpdatePublishedVersionAsync("p1", "StockBox", aggregateRootId, 1).Wait();
                var ver1 = store.GetPublishedVersionAsync("p1", "StockBox", aggregateRootId).Result;
                Assert.Equal(1, ver1);

                store.UpdatePublishedVersionAsync("p1", "StockBox", aggregateRootId, 5).Wait();
                var ver2 = store.GetPublishedVersionAsync("p1", "StockBox", aggregateRootId).Result;
                Assert.Equal(5, ver2);

                store.UpdatePublishedVersionAsync("p1", "StockBox", aggregateRootId, 3).Wait();
                var ver3 = store.GetPublishedVersionAsync("p1", "StockBox", aggregateRootId).Result;
                Assert.Equal(5, ver3);
            }
            finally
            {
                store.RemoveKeyAsync("p1", aggregateRootId).Wait();
            }
        }
        public void GetPublishedVersionWithDifferentAggregateRootType()
        {
            var store = new RedisPublishedVersionStore();

            store.Initialize(_redisConfiguration, "demo");
            var aggregateRootId = $"B{DateTime.Now.Ticks}";

            try
            {
                store.UpdatePublishedVersionAsync("p1", "StockBox", aggregateRootId, 1).Wait();
                var ver1 = store.GetPublishedVersionAsync("p1", "StockBox", aggregateRootId).Result;
                Assert.Equal(1, ver1);

                var ver2 = store.GetPublishedVersionAsync("p1", "DownGoodsBill", aggregateRootId).Result;
                Assert.Equal(0, ver2);
            }
            finally
            {
                store.RemoveKeyAsync("p1", aggregateRootId).Wait();
            }
        }