This commit is contained in:
Tyrrrz
2021-12-08 23:43:35 +02:00
parent 9990387cfa
commit 2feeb21270
132 changed files with 8021 additions and 8154 deletions

View File

@@ -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);
}