public async Task TestMultiItemOperation()
        {
            var mockConfigProvider = GetMockConfigurationProvider();
            var mockSessionStoreSerializerFactory = GetMockSessionStoreSerializerFactory();


            var mockSessionProviderFactory = GetSessionProviderFactory(mockSessionStoreSerializerFactory, mockConfigProvider);
            var sessionStore = new Tavisca.Common.Plugins.SessionStore.SessionStore(mockSessionProviderFactory);

            var key           = Guid.NewGuid().ToString();
            var category_base = "spartan";
            var itemCount     = 100;
            var categories    = new string[itemCount];

            for (var i = 0; i < itemCount; i++)
            {
                categories[i] = category_base + i;
            }
            var id        = 1;
            var dataItems = categories
                            .Select(x => new DataItem <SampleClass>(new ItemKey(x, key), new SampleClass()
            {
                Id = id++, Data = id.ToString()
            })).ToArray();

            await sessionStore.AddMultipleAsync(dataItems);

            var itemKeys  = categories.Select(x => new ItemKey(x, key)).ToArray();
            var readItems = await sessionStore.GetMultipleAsync <SampleClass>(itemKeys);

            foreach (var dataItem in dataItems)
            {
                var match = readItems.SingleOrDefault(x => x.Key.Equals(dataItem.Key));
                Assert.NotNull(match);
                Assert.Equal(dataItem.Value.Id, match.Value.Id);
                Assert.Equal(dataItem.Value.Data, match.Value.Data);
            }
        }