public BaseClusterFixture()
        {
            var clusterBuilder = new LocalClusterBuilder();

            clusterBuilder.ConfigureCluster(clusterConfiguration =>
            {
                clusterConfiguration.Globals.ClusterId = "Some-Cluster-Id";
            });
            Log.Logger = new LoggerConfiguration()
                         .CreateLogger();

            // Storage provider setup
            var storageProviders = GetType().GetCustomAttributes(typeof(MockStorageProvider), true).Select(p => (MockStorageProvider)p);

            foreach (var provider in storageProviders)
            {
                clusterBuilder.ConfigureCluster(c => c.Globals.RegisterStorageProvider <MockMemoryStorageProvider>(provider.ProviderName));
            }

            // Stream provider setup
            var streamProviders = GetType().GetCustomAttributes(typeof(MockStreamProvider), true).Select(p => (MockStreamProvider)p);

            foreach (var provider in streamProviders)
            {
                clusterBuilder.ConfigureHost(s => s.AddSimpleMessageStreamProvider(provider.ProviderName));
            }

            // Stream storage setup
            var streamStorageProviders = GetType().GetCustomAttributes(typeof(MockStreamStorage), true).Select(p => (MockStreamStorage)p);

            foreach (var storage in streamStorageProviders)
            {
                clusterBuilder.ConfigureHost(s => s.AddMemoryGrainStorage(storage.StorageName));
            }

            OnConfigure(clusterBuilder);
            clusterBuilder.ConfigureHost(OnConfigure);

            clusterBuilder
            .ConfigureServices(s =>
            {
                s.AddTransient <IGrainFactoryProvider>(services => new GrainFactoryProvider(_mocker.Mock.Object));
                s.AddTransient(services => _logger);
                OnConfigureServices(s);
            });

            Cluster = clusterBuilder
                      .Build();
            Cluster.StartAsync().Wait();
            _mocker = new GrainFactoryMocker(GrainFactory);
        }
 protected virtual void OnConfigure(LocalClusterBuilder clusterBuilder)
 {
 }