public AppConfigRepositoryTests()
        {
            this._loggerMock = new Mock<ILogger>();
            this._configurationProviderMock = new Mock<IConfigurationProvider>();
            this.testHostName = "testHostName";
            this.testKey = "testKey";
            this.testDeviceId = "testDeviceId";

            this._configurationProviderMock.Setup(mock => mock.GetConfigurationSettingValue("iotHub.HostName")).Returns(this.testHostName);

            this.repo = new AppConfigRepository(this._configurationProviderMock.Object, this._loggerMock.Object);
        }
        static void StartSimulator()
        {
            // Dependencies to inject into the Bulk Device Tester
            var logger = new TraceLogger();
            var configProvider = new ConfigurationProvider();
            var telemetryFactory = new CoolerTelemetryFactory(logger);

            var serializer = new JsonSerialize();
            var transportFactory = new IotHubTransportFactory(serializer, logger, configProvider);

            IVirtualDeviceStorage deviceStorage = null;
            var useConfigforDeviceList = Convert.ToBoolean(configProvider.GetConfigurationSettingValueOrDefault("UseConfigForDeviceList", "False"), CultureInfo.InvariantCulture);

            if (useConfigforDeviceList)
            {
                deviceStorage = new AppConfigRepository(configProvider, logger);
            }
            else
            {
                deviceStorage = new VirtualDeviceTableStorage(configProvider);
            }

            IDeviceFactory deviceFactory = new CoolerDeviceFactory();

            // Start Simulator
            Trace.TraceInformation("Starting Simulator");
            var tester = new BulkDeviceTester(transportFactory, logger, configProvider, telemetryFactory, deviceFactory, deviceStorage);
            Task.Run(() => tester.ProcessDevicesAsync(cancellationTokenSource.Token), cancellationTokenSource.Token);
        }