public void Initialize() { backup = new Mock <IFeatureConfigurationBackup>(); logger = new Mock <ILogger>(); systemConfigurationUpdate = new Mock <ISystemConfigurationUpdate>(); sut = new AutoRestoreMechanism(backup.Object, logger.Object, systemConfigurationUpdate.Object, 0); }
public void MustRespectTimeout() { const int TIMEOUT = 50; var after = default(DateTime); var before = default(DateTime); var configuration = new Mock <IFeatureConfiguration>(); var counter = 0; var list = new List <IFeatureConfiguration> { configuration.Object }; var sync = new AutoResetEvent(false); sut = new AutoRestoreMechanism(backup.Object, logger.Object, systemConfigurationUpdate.Object, TIMEOUT); backup.Setup(b => b.GetAllConfigurations()).Returns(list).Callback(() => { switch (++counter) { case 1: before = DateTime.Now; break; case 2: after = DateTime.Now; list.Clear(); sync.Set(); break; } }); sut.Start(); sync.WaitOne(); sut.Stop(); Assert.IsTrue(after - before >= new TimeSpan(0, 0, 0, 0, TIMEOUT)); }