public void Dispose_TimerIsNotExecutedAfterDisposeHasBeenCalled() { // Arrange int newCheckIntervalInSeconds = 1; int waitTimeInMilliseconds = (newCheckIntervalInSeconds * 1000) * 5; var agentControlDefinitionWithReducedInterval = new AgentControlDefinition { AgentIsEnabled = true, Hostaddress = "127.0.0.1", Hostname = "www.example.com", CheckIntervalInSeconds = newCheckIntervalInSeconds, SystemInformationSenderPath = "/api/systeminformation" }; var agentControlDefinitionAccessor = new Mock<IAgentControlDefinitionAccessor>(); agentControlDefinitionAccessor.Setup(a => a.GetControlDefinition()).Returns(agentControlDefinitionWithReducedInterval); var agentControlDefinitionProvider = new AgentControlDefinitionProvider(agentControlDefinitionAccessor.Object); // Act agentControlDefinitionProvider.Dispose(); Thread.Sleep(waitTimeInMilliseconds); // Assert agentControlDefinitionAccessor.Verify(a => a.GetControlDefinition(), Times.AtMostOnce()); }
public void Constructor_AllParametersAreSet_ObjectIsInstantiated() { // Arrange var agentControlDefinitionAccessor = new Mock<IAgentControlDefinitionAccessor>(); // Act var agentControlDefinitionProvider = new AgentControlDefinitionProvider(agentControlDefinitionAccessor.Object); // Assert Assert.IsNotNull(agentControlDefinitionProvider); }
public void GetControlDefinition_ReturnsNullIfTheAgentControlDefinitionAccessorReturnsNull() { // Arrange AgentControlDefinition agentControlDefinition = null; var agentControlDefinitionAccessor = new Mock<IAgentControlDefinitionAccessor>(); agentControlDefinitionAccessor.Setup(a => a.GetControlDefinition()).Returns(agentControlDefinition); var agentControlDefinitionProvider = new AgentControlDefinitionProvider(agentControlDefinitionAccessor.Object); Thread.Sleep(2000); // Act var result = agentControlDefinitionProvider.GetControlDefinition(); // Assert Assert.IsNull(result); }
public void GetControlDefinition_ReturnsTheSameAgentControlDefinitionThatIsReturnedByTheAgentControlDefinitionAccessor() { // Arrange var agentControlDefinition = new AgentControlDefinition { AgentIsEnabled = true, Hostaddress = "127.0.0.1", Hostname = "www.example.com", CheckIntervalInSeconds = 10, SystemInformationSenderPath = "/api/systeminformation" }; var agentControlDefinitionAccessor = new Mock<IAgentControlDefinitionAccessor>(); agentControlDefinitionAccessor.Setup(a => a.GetControlDefinition()).Returns(agentControlDefinition); var agentControlDefinitionProvider = new AgentControlDefinitionProvider(agentControlDefinitionAccessor.Object); Thread.Sleep(2000); // Act var result = agentControlDefinitionProvider.GetControlDefinition(); // Assert Assert.AreEqual(agentControlDefinition, result); }
public void Timer_IntervalIsChangedToOnceSecond_GetControlDefinitionIsCalledEverySecond() { // Arrange int newCheckIntervalInSeconds = 1; int waitTimeInSeconds = AgentControlDefinitionProvider.DefaultCheckIntervalInSeconds; int expectedNumberOfTimesGetControlDefinitionIsCalled = (int)((double)waitTimeInSeconds / newCheckIntervalInSeconds); int waitTimeInMilliseconds = waitTimeInSeconds * 1000; var agentControlDefinitionWithReducedInterval = new AgentControlDefinition { AgentIsEnabled = true, Hostaddress = "127.0.0.1", Hostname = "www.example.com", CheckIntervalInSeconds = newCheckIntervalInSeconds, SystemInformationSenderPath = "/api/systeminformation" }; var agentControlDefinitionAccessor = new Mock<IAgentControlDefinitionAccessor>(); agentControlDefinitionAccessor.Setup(a => a.GetControlDefinition()).Returns(agentControlDefinitionWithReducedInterval); // Act var agentControlDefinitionProvider = new AgentControlDefinitionProvider(agentControlDefinitionAccessor.Object); Thread.Sleep(waitTimeInMilliseconds); // Assert agentControlDefinitionAccessor.Verify(a => a.GetControlDefinition(), Times.AtLeast(expectedNumberOfTimesGetControlDefinitionIsCalled)); }