public static void Record_CellAvailabilityCheckEventBase___Should_add_availabilityCheckEvent_to_the_end_of_AvailabilityCheckEvents___When_AvailabilityCheck_is_not_null_and_AvailabilityCheckEvents_is_null() { // Arrange var systemUnderTest = A.Dummy <NullCell>().DeepCloneWithAvailabilityCheckEvents(null); var availabilityCheckEvent = A.Dummy <CellAvailabilityCheckEventBase>(); IReadOnlyList <CellAvailabilityCheckEventBase> expected = new CellAvailabilityCheckEventBase[] { availabilityCheckEvent, } .ToList(); // Act systemUnderTest.Record(availabilityCheckEvent); // Assert systemUnderTest.AvailabilityCheckEvents.Must().BeEqualTo(expected); }
public static void GetAvailabilityCheckMessageOrNull___Should_return_null___When_last_event_in_AvailabilityCheckEvents_is_CellAvailabilityCheckClearedEvent() { // Arrange var events = new CellAvailabilityCheckEventBase[0] .Concat(Some.ReadOnlyDummies <CellAvailabilityCheckEventBase>()) .Concat(new[] { A.Dummy <CellAvailabilityCheckClearedEvent>(), }) .ToList(); var cell = A.Dummy <NotSlottedCellBase>().DeepCloneWithAvailabilityCheckEvents(events); // Act var actual = cell.GetAvailabilityCheckMessageOrNull(); // Assert actual.AsTest().Must().BeNull(); }
public static void GetAvailabilityCheckStatus___Should_return_AvailabilityCheckStatus_DeterminedSubjectIsEnabled___When_last_event_in_AvailabilityCheckEvents_is_CellAvailabilityCheckDeterminedCellEnabledEvent() { // Arrange var events = new CellAvailabilityCheckEventBase[0] .Concat(Some.ReadOnlyDummies <CellAvailabilityCheckEventBase>()) .Concat(new[] { A.Dummy <CellAvailabilityCheckDeterminedCellEnabledEvent>(), }) .ToList(); var cell = A.Dummy <NotSlottedCellBase>().DeepCloneWithAvailabilityCheckEvents(events); // Act var actual = cell.GetAvailabilityCheckStatus(); // Assert actual.AsTest().Must().BeEqualTo(AvailabilityCheckStatus.DeterminedSubjectIsEnabled); }
public static void ClearAvailabilityCheck___Should_add_CellAvailabilityCheckClearedEvent_to_the_end_of_AvailabilityCheckEvents___When_AvailabilityCheck_is_not_null_and_AvailabilityCheckEvents_is_null() { // Arrange var systemUnderTest = A.Dummy <NullCell>().DeepCloneWithAvailabilityCheckEvents(null); var timestampUtc = A.Dummy <UtcDateTime>(); var details = A.Dummy <string>(); IReadOnlyList <CellAvailabilityCheckEventBase> expected = new CellAvailabilityCheckEventBase[] { new CellAvailabilityCheckClearedEvent(timestampUtc, details), } .ToList(); // Act systemUnderTest.ClearAvailabilityCheck(timestampUtc, details); // Assert systemUnderTest.AvailabilityCheckEvents.Must().BeEqualTo(expected); }
public static void Record_CellAvailabilityCheckEventBase___Should_add_availabilityCheckEvent_to_the_end_of_AvailabilityCheckEvents___When_AvailabilityCheck_is_not_null_and_AvailabilityCheckEvents_is_not_empty() { // Arrange var systemUnderTest = A.Dummy <OperationCell <Version> >(); var availabilityCheckEvent = A.Dummy <CellAvailabilityCheckEventBase>(); IReadOnlyList <CellAvailabilityCheckEventBase> expected = new CellAvailabilityCheckEventBase[0] .Concat(systemUnderTest.AvailabilityCheckEvents) .Concat(new[] { availabilityCheckEvent, }) .ToList(); // Act systemUnderTest.Record(availabilityCheckEvent); // Assert systemUnderTest.AvailabilityCheckEvents.Must().BeEqualTo(expected); }
public static void ClearAvailabilityCheck___Should_add_CellAvailabilityCheckClearedEvent_to_the_end_of_AvailabilityCheckEvents___When_AvailabilityCheck_is_not_null_and_AvailabilityCheckEvents_is_not_empty() { // Arrange var systemUnderTest = A.Dummy <OperationCell <Version> >(); var timestampUtc = A.Dummy <UtcDateTime>(); var details = A.Dummy <string>(); IReadOnlyList <CellAvailabilityCheckEventBase> expected = new CellAvailabilityCheckEventBase[0] .Concat(systemUnderTest.AvailabilityCheckEvents) .Concat(new[] { new CellAvailabilityCheckClearedEvent(timestampUtc, details), }) .ToList(); // Act systemUnderTest.ClearAvailabilityCheck(timestampUtc, details); // Assert systemUnderTest.AvailabilityCheckEvents.Must().BeEqualTo(expected); }