private FixtureStepResultAssertion(string stepDescription, Exception?exception, FixtureStepStatus status, Type stepType) { StepDescription = stepDescription; Exception = exception; Status = status; StepType = stepType; }
private FixtureStepRunningResultAssertion(FixtureStep step, bool startTimeHasValue, bool endTimeHasValue, bool durationHasValue, Exception?exception, FixtureStepStatus status) { Step = step; StartTimeHasValue = startTimeHasValue; EndTimeHasValue = endTimeHasValue; DurationHasValue = durationHasValue; Exception = exception; Status = status; }
private void ReportStatus(FixtureStepStatus status, Action <object> action) { if (!StatusVisible) { return; } ReportValue(" - ", status); action(status); }
/// <summary> /// Reports the specified status of the fixture step running. /// </summary> /// <param name="status">The status of the fixture step running.</param> /// <param name="lineBreak"> /// <c>true</c> if a line break is required; otherwise, <c>false</c>. /// </param> protected virtual void ReportStatus(FixtureStepStatus status, bool lineBreak = false) { switch (status) { case FixtureStepStatus.Ready: ReportStatus(status, CarnaConsole.WriteReady); break; case FixtureStepStatus.Pending: ReportStatus(status, CarnaConsole.WritePending); break; case FixtureStepStatus.Failed: ReportStatus(status, CarnaConsole.WriteFailure); break; case FixtureStepStatus.Passed: ReportStatus(status, CarnaConsole.WriteSuccess); break; } if (lineBreak) { CarnaConsole.WriteLine(); } }
/// <summary> /// Reports the specified value with the specified status of the fixture step running. /// </summary> /// <param name="value">The value to be reported.</param> /// <param name="status">The status of the fixture step running.</param> /// <param name="lineBreak"> /// <c>true</c> if a line break is required; otherwise, <c>false</c>. /// </param> protected virtual void ReportValue(string value, FixtureStepStatus status, bool lineBreak = false) { switch (status) { case FixtureStepStatus.Ready: CarnaConsole.WriteReady(value); break; case FixtureStepStatus.Pending: CarnaConsole.WritePending(value); break; case FixtureStepStatus.Failed: CarnaConsole.WriteFailure(value); break; case FixtureStepStatus.None: CarnaConsole.WriteNote(value); break; default: CarnaConsole.WriteValue(value); break; } if (lineBreak) { CarnaConsole.WriteLine(); } }
public static FixtureStepRunningResultAssertion Of(FixtureStep step, bool startTimeHasValue, bool endTimeHasValue, bool durationHasValue, Exception?exception, FixtureStepStatus status) => new(step, startTimeHasValue, endTimeHasValue, durationHasValue, exception, status);
public static FixtureStepResultAssertion ForNullException(FixtureStepStatus status, FixtureStep step) => new(status, new EqualAssertionProperty <Exception?>(null), step);
private FixtureStepResultAssertion(FixtureStepStatus status, AssertionProperty <Exception?> exception, FixtureStep step) { Status = status; Exception = exception; Step = step; }
public static FixtureStepResultAssertion Of(string stepDescription, Exception?exception, FixtureStepStatus status, Type stepType) => new(stepDescription, exception, status, stepType);
/// <summary> /// Gets a value that indicates whether to have the result of the specified fixture step type /// that has a specified fixture step status. /// </summary> /// <typeparam name="T">The type of the fixture step.</typeparam> /// <param name="status">The status of the fixture step running.</param> /// <returns> /// <c>true</c> if the result of the specified fixture step type that has a specified fixture step status is contained; /// otherwise, <c>false</c>. /// </returns> public bool HasStatusAt <T>(FixtureStepStatus status) where T : FixtureStep => Results.Where(result => typeof(T) == result.Step.GetType()) .Any(result => result.Status == status);