public void AdvancedAlarm_WhenTurnedOff_CanAlertSecurityAgain() { var sut = new AdvancedAlarm(_events, _sound); var timesSecurityCalled = 0; _events.Subscribe <PositionedAlertSecurityEvent>(e => timesSecurityCalled++); sut.Trigger(new XY()); sut.TurnOff(); sut.Trigger(new XY()); Assert.AreEqual(2, timesSecurityCalled); }
public void AdvancedAlarm_Triggered_SoundsAlarm() { var sut = new AdvancedAlarm(_events, _sound); sut.Trigger(new XY()); Assert.IsTrue(_sound.Played); }
public void AdvancedAlarm_TurnedOff_TurnsOffAlarm() { var sut = new AdvancedAlarm(_events, _sound); sut.Trigger(new XY()); sut.TurnOff(); Assert.IsTrue(_sound.Stopped); }
public void AdvancedAlarm_Triggered_AlertsSecurity() { var sut = new AdvancedAlarm(_events, _sound); var securityAlerted = false; _events.Subscribe <PositionedAlertSecurityEvent>(e => securityAlerted = true); sut.Trigger(new XY()); Assert.IsTrue(securityAlerted); }
public void AdvancedAlarm_Triggered_AlertSecurityEventHoldsPassedInTriggerPosition() { var sut = new AdvancedAlarm(_events, _sound); var expectedPosition = new XY(123, 123); var actualPosition = new XY(0, 0); _events.Subscribe <PositionedAlertSecurityEvent>(e => actualPosition = e.TriggerLocation); sut.Trigger(expectedPosition); Assert.AreEqual(expectedPosition, actualPosition); }
public void AdvancedAlarm_Disarmed_TriggerDoesNothing() { var sut = new AdvancedAlarm(_events, _sound); var securityAlerted = false; _events.Subscribe <PositionedAlertSecurityEvent>(e => securityAlerted = true); sut.Disarm(); sut.Trigger(new XY()); Assert.IsFalse(securityAlerted); }
public void AdvancedAlarm_TriggeredMultipleTimes_OnlyCallsSecurityOnce() { var sut = new AdvancedAlarm(_events, _sound); var timesSecurityCalled = 0; _events.Subscribe <PositionedAlertSecurityEvent>(e => timesSecurityCalled++); foreach (var _ in Enumerable.Range(0, 5)) { sut.Trigger(new XY()); } Assert.AreEqual(1, timesSecurityCalled); }