public void repository_shouldnt_save_users_with_same_id()
        {
            var eventStore = Substitute.For<IEventStore>();
            var identityGenerator = Substitute.For<IIdentityGenerator>();

            var guid = Guid.NewGuid();
            identityGenerator.NewId().Returns(i => guid);

            var cache = new RepositoryCache();

            StoreRepository repository = new StoreRepository(eventStore, cache, new AggregateFactory());

            var @event = FakeUser.ArrangeCreated();

            var user = User.CreateUser(FakeUser.TestLogin, FakeUser.TestPassword, identityGenerator);
            repository.Save(user, Guid.NewGuid());

            user = User.CreateUser(FakeUser.TestLogin, FakeUser.TestPassword, identityGenerator);
            repository.Invoking(i => i.Save(user, Guid.NewGuid())).ShouldThrow<AggregateVersionException>();
        }