public void Setup()
        {
            _sequenceProvider = InMemorySequenceProvider.Create();

            _userRepository         = new InMemoryUserRepository(_sequenceProvider);
            _serviceRepository      = new InMemoryServiceRepository(_sequenceProvider);
            _subscriptionRepository = new InMemorySubscriptionRepository(_serviceRepository, _sequenceProvider);

            var demoData = new DemoDataService(_userRepository, _serviceRepository, _subscriptionRepository, new InMemoryApiKeyRepository());

            demoData.CreateDemoData();
        }
        public void SequenceProviderShouldIncrementByKey()
        {
            var provider = InMemorySequenceProvider.Create();

            var key1 = "key1";
            var key2 = "key2";
            var sumI = 0;

            for (var i = 0; i <= 100; i++)
            {
                sumI += i;

                var nextVal1 = provider.Increment(key1, i);
                var nextVal2 = provider.Increment(key2, i);

                Assert.AreEqual(nextVal1, nextVal2, "1 & 2 should be equal");
                Assert.AreEqual(nextVal1, sumI, "1 & 2 should be sumi");
            }
        }
 public InMemory_sequence_provider_tests()
 {
     Provider = new InMemorySequenceProvider();
 }