public void InitialiseWithValidConfigurationSucceeds()
        {
            // Arrange
            Mock.SetupStatic(typeof(ConfigurationManager));
            Mock.Arrange(() => ConfigurationManager.AppSettings["UpdateIntervalMinutes"])
                .Returns("5");
            Mock.Arrange(() => ConfigurationManager.AppSettings["ServerNotReachableRetries"])
                .Returns("5");
            Mock.Arrange(() => ConfigurationManager.AppSettings["ManagementUri"])
                .Returns("ManagementUri");
            Mock.Arrange(() => ConfigurationManager.AppSettings["Uri"])
                .Returns("http://www.example.com/arbitrary-path/");

            var plugin = Mock.Create<Lazy<IAppclusivePlugin, IAppclusivePluginData>>();
            var plugins = new List<Lazy<IAppclusivePlugin, IAppclusivePluginData>>();
            plugins.Add(plugin);
            var pluginLoader = Mock.Create<PluginLoader>(Constructor.Mocked);
            Mock.Arrange(() => pluginLoader.InitialiseAndLoad())
                .IgnoreInstance()
                .Returns(plugins);

            var configuration = Mock.Create<ScheduledJobsWorkerConfiguration>(Constructor.NotMocked);
            Mock.Arrange(() => configuration.ManagementUriType)
                .IgnoreInstance()
                .Returns("ManagementUriType");
            Mock.Arrange(() => configuration.Uri)
                .IgnoreInstance()
                .Returns(new Uri("http://www.example.com/arbitrary-path/"));
            Mock.Arrange(() => configuration.IsValid())
                .IgnoreInstance()
                .Returns(true);
            var parameters = new DictionaryParameters();

            var sut = new ScheduledJobsWorkerConfigurationLoader();

            // Act
            sut.Initialise(configuration, parameters);

            // Assert
            // N/A
        }
        public void InitialiseWithInvalidConfigurationThrowsContractException()
        {
            var configuration = Mock.Create<ScheduledJobsWorkerConfiguration>();
            var parameters = new DictionaryParameters();

            var sut = new ScheduledJobsWorkerConfigurationLoader();
            sut.Initialise(configuration, parameters);
        }