public void ShouldRaiseStartRunEventForJobSyncWatcherWhenTriggered() { //Arrange const string syncWhenWachtedName = "TestWhenWatched"; var expectedOnStartName = string.Empty; Action<SenderInfo> eventAction = delegate (SenderInfo info) { expectedOnStartName = info.SyncWhenName; }; var syncWhenWatchedStub = new SyncWhenWatchedStub(syncWhenWachtedName); var syncWhenList = new List<ISyncWhen> { syncWhenWatchedStub }; //Act var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true }; jobSync.OnRunStart += eventAction.Invoke; jobSync.Start(); syncWhenWatchedStub.SimulateStartRun(); //Assert Assert.IsTrue(jobSync.IsActive); Assert.That(expectedOnStartName, Is.EqualTo(syncWhenWachtedName)); }
public void ShouldNotStartupJobSyncWithStartupSync() { //Arrange const string syncWhenOtherName = "TestWhenOther"; var expectedName = string.Empty; var syncWhenOtherMock = new Mock<ISyncWhen>(); syncWhenOtherMock.Setup(x => x.Start()); syncWhenOtherMock.SetupGet(x => x.Name).Returns(syncWhenOtherName); var syncWhenList = new List<ISyncWhen> { syncWhenOtherMock.Object }; //Act var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true }; jobSync.OnStartup += delegate (SenderInfo info) { expectedName = info.SyncWhenName; }; jobSync.Start(); //Assert Assert.IsTrue(jobSync.IsActive); syncWhenOtherMock.Verify(x => x.Start(), Times.Once); syncWhenOtherMock.Verify(); Assert.That(expectedName, Is.Empty); }
public void ShouldStartAvailableJobSyncWatcher() { //Arrange var syncWhenWatchedMock = new Mock<ISyncWhenWatched>(); syncWhenWatchedMock.Setup(x => x.Start()).Verifiable(); var syncWhenList = new List<ISyncWhen> { syncWhenWatchedMock.Object }; //Act var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true }; jobSync.Start(); //Assert Assert.IsTrue(jobSync.IsActive); syncWhenWatchedMock.Verify(x => x.Start(), Times.Once); syncWhenWatchedMock.Verify(); }
public void ShouldThrowExceptionWhenStartupWhenDisable() { //Arrange const string syncWhenStartedName = "TestWhenStarted"; var syncWhenStarterMock = new Mock<ISyncWhenStartup>(); syncWhenStarterMock.Setup(x => x.Start()); syncWhenStarterMock.SetupGet(x => x.Name).Returns(syncWhenStartedName); var syncWhenList = new List<ISyncWhen> { syncWhenStarterMock.Object }; //Act var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) {IsEnabled = false}; jobSync.Start(); //Assert Assert.Fail("A CanNotStartJobSyncWhenDisabled exception should have been thrown"); }
public void ShouldStartupJobSyncWithStartupSync() { //Arrange const string syncWhenStartedName = "TestWhenStarted"; var expectedName = string.Empty; var syncWhenStarterStub = new SyncWhenStartupStub(syncWhenStartedName); var syncWhenList = new List<ISyncWhen> { syncWhenStarterStub }; //Act var jobSync = new JobSync(Guid.NewGuid(), syncWhenList.ToArray()) { IsEnabled = true }; jobSync.OnStartup += delegate(SenderInfo info) { expectedName = info.SyncWhenName; }; jobSync.Start(); //Assert Assert.IsTrue(jobSync.IsActive); Assert.That(syncWhenStarterStub.StartupCounter, Is.EqualTo(1)); Assert.That(expectedName, Is.EqualTo(syncWhenStartedName)); }