mirror of
https://github.com/Tyrrrz/CliFx.git
synced 2025-10-25 15:19:17 +00:00
C#10ify
This commit is contained in:
@@ -4,49 +4,48 @@ using FluentAssertions;
|
||||
using FluentAssertions.Execution;
|
||||
using FluentAssertions.Primitives;
|
||||
|
||||
namespace CliFx.Tests.Utils.Extensions
|
||||
namespace CliFx.Tests.Utils.Extensions;
|
||||
|
||||
internal static class AssertionExtensions
|
||||
{
|
||||
internal static class AssertionExtensions
|
||||
public static void ConsistOfLines(
|
||||
this StringAssertions assertions,
|
||||
IEnumerable<string> lines)
|
||||
{
|
||||
public static void ConsistOfLines(
|
||||
this StringAssertions assertions,
|
||||
IEnumerable<string> lines)
|
||||
var actualLines = assertions.Subject.Split(new[] {'\n', '\r'}, StringSplitOptions.RemoveEmptyEntries);
|
||||
actualLines.Should().Equal(lines);
|
||||
}
|
||||
|
||||
public static void ConsistOfLines(
|
||||
this StringAssertions assertions,
|
||||
params string[] lines) =>
|
||||
assertions.ConsistOfLines((IEnumerable<string>) lines);
|
||||
|
||||
public static AndConstraint<StringAssertions> ContainAllInOrder(
|
||||
this StringAssertions assertions,
|
||||
IEnumerable<string> values)
|
||||
{
|
||||
var lastIndex = 0;
|
||||
|
||||
foreach (var value in values)
|
||||
{
|
||||
var actualLines = assertions.Subject.Split(new[] {'\n', '\r'}, StringSplitOptions.RemoveEmptyEntries);
|
||||
actualLines.Should().Equal(lines);
|
||||
}
|
||||
var index = assertions.Subject.IndexOf(value, lastIndex, StringComparison.Ordinal);
|
||||
|
||||
public static void ConsistOfLines(
|
||||
this StringAssertions assertions,
|
||||
params string[] lines) =>
|
||||
assertions.ConsistOfLines((IEnumerable<string>) lines);
|
||||
|
||||
public static AndConstraint<StringAssertions> ContainAllInOrder(
|
||||
this StringAssertions assertions,
|
||||
IEnumerable<string> values)
|
||||
{
|
||||
var lastIndex = 0;
|
||||
|
||||
foreach (var value in values)
|
||||
if (index < 0)
|
||||
{
|
||||
var index = assertions.Subject.IndexOf(value, lastIndex, StringComparison.Ordinal);
|
||||
|
||||
if (index < 0)
|
||||
{
|
||||
Execute.Assertion.FailWith(
|
||||
$"Expected string '{assertions.Subject}' to contain '{value}' after position {lastIndex}."
|
||||
);
|
||||
}
|
||||
|
||||
lastIndex = index;
|
||||
Execute.Assertion.FailWith(
|
||||
$"Expected string '{assertions.Subject}' to contain '{value}' after position {lastIndex}."
|
||||
);
|
||||
}
|
||||
|
||||
return new(assertions);
|
||||
lastIndex = index;
|
||||
}
|
||||
|
||||
public static AndConstraint<StringAssertions> ContainAllInOrder(
|
||||
this StringAssertions assertions,
|
||||
params string[] values) =>
|
||||
assertions.ContainAllInOrder((IEnumerable<string>) values);
|
||||
return new(assertions);
|
||||
}
|
||||
|
||||
public static AndConstraint<StringAssertions> ContainAllInOrder(
|
||||
this StringAssertions assertions,
|
||||
params string[] values) =>
|
||||
assertions.ContainAllInOrder((IEnumerable<string>) values);
|
||||
}
|
||||
Reference in New Issue
Block a user