Skip to content

Commit

Permalink
Improve coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
aalmada committed Aug 12, 2020
1 parent 3cbf42a commit 5c13d29
Show file tree
Hide file tree
Showing 34 changed files with 782 additions and 434 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ public void Count_With_NullArray_Must_Succeed()
[MemberData(nameof(TestData.SkipTakeEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeMultiple), MemberType = typeof(TestData))]
public void Count_With_ValidData_Must_Succeed(int[] source, int skipCount, int takeCount)
public void Count_With_ValidData_Must_Succeed(int[] source, int skip, int take)
{
// Arrange
var (skip, take) = Utils.SkipTake(source.Length, skipCount, takeCount);
var wrapped = new ArraySegment<int>(source, skip, take);
var (offset, count) = Utils.SkipTake(source.Length, skip, take);
var wrapped = new ArraySegment<int>(source, offset, count);
var expected = Enumerable
.Count(wrapped);

Expand All @@ -42,5 +42,56 @@ public void Count_With_ValidData_Must_Succeed(int[] source, int skipCount, int t
_ = result.Must()
.BeEqualTo(expected);
}

[Theory]
[MemberData(nameof(TestData.SkipTakePredicateEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateMultiple), MemberType = typeof(TestData))]
public void Count_Predicate_With_ValidData_Must_Succeed(int[] source, int skip, int take, Predicate<int> predicate)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = Enumerable
.Skip(source, skip)
.Take(take)
.Count(predicate.AsFunc());

// Act
var result = ArrayExtensions
.Skip(wrapped, skip)
.Take(take)
.Where(predicate)
.Count();

// Assert
_ = result.Must()
.BeEqualTo(expected);
}

[Theory]
[MemberData(nameof(TestData.SkipTakePredicateAtEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateAtSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateAtMultiple), MemberType = typeof(TestData))]
public void Count_PredicateAt_With_ValidData_Must_Succeed(int[] source, int skip, int take, PredicateAt<int> predicate)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = Enumerable
.Skip(source, skip)
.Take(take)
.Where(predicate.AsFunc())
.Count();

// Act
var result = ArrayExtensions
.Skip(wrapped, skip)
.Take(take)
.Where(predicate)
.Count();

// Assert
_ = result.Must()
.BeEqualTo(expected);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,20 @@ public void Count_With_ValidData_Must_Succeed(int[] source)
[MemberData(nameof(TestData.SkipTakePredicateEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateMultiple), MemberType = typeof(TestData))]
public void Count_Predicate_With_ValidData_Must_Succeed(int[] source, int skipCount, int takeCount, Predicate<int> predicate)
public void Count_Predicate_With_ValidData_Must_Succeed(int[] source, int skip, int take, Predicate<int> predicate)
{
// Arrange
var wrapped = Wrap
.AsReadOnlyList(source);
var expected = Enumerable
.Skip(source, skipCount)
.Take(takeCount)
.Skip(source, skip)
.Take(take)
.Count(predicate.AsFunc());

// Act
var result = ReadOnlyListExtensions
.Skip<Wrap.ReadOnlyListWrapper<int>, int>(wrapped, skipCount)
.Take(takeCount)
.Skip<Wrap.ReadOnlyListWrapper<int>, int>(wrapped, skip)
.Take(take)
.Where(predicate)
.Count();

Expand All @@ -58,21 +58,21 @@ public void Count_Predicate_With_ValidData_Must_Succeed(int[] source, int skipCo
[MemberData(nameof(TestData.SkipTakePredicateAtEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateAtSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakePredicateAtMultiple), MemberType = typeof(TestData))]
public void Count_PredicateAt_With_ValidData_Must_Succeed(int[] source, int skipCount, int takeCount, PredicateAt<int> predicate)
public void Count_PredicateAt_With_ValidData_Must_Succeed(int[] source, int skip, int take, PredicateAt<int> predicate)
{
// Arrange
var wrapped = Wrap
.AsReadOnlyList(source);
var expected = Enumerable
.Skip(source, skipCount)
.Take(takeCount)
.Skip(source, skip)
.Take(take)
.Where(predicate.AsFunc())
.Count();

// Act
var result = ReadOnlyListExtensions
.Skip<Wrap.ReadOnlyListWrapper<int>, int>(wrapped, skipCount)
.Take(takeCount)
.Skip<Wrap.ReadOnlyListWrapper<int>, int>(wrapped, skip)
.Take(take)
.Where(predicate)
.Count();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ public void ToArray_With_NullArray_Must_Succeed()
[MemberData(nameof(TestData.SkipTakeEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeMultiple), MemberType = typeof(TestData))]
public void ToArray_Must_Succeed(int[] source, int skipCount, int takeCount)
public void ToArray_Must_Succeed(int[] source, int skip, int take)
{
// Arrange
var (skip, take) = Utils.SkipTake(source.Length, skipCount, takeCount);
var wrapped = new ArraySegment<int>(source, skip, take);
var (offset, count) = Utils.SkipTake(source.Length, skip, take);
var wrapped = new ArraySegment<int>(source, offset, count);
var expected = Enumerable
.ToArray(wrapped);

Expand All @@ -51,12 +51,12 @@ public void ToArray_Must_Succeed(int[] source, int skipCount, int takeCount)
[MemberData(nameof(TestData.SkipTakeEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeMultiple), MemberType = typeof(TestData))]
public void ToArray_MemoryPool_Must_Succeed(int[] source, int skipCount, int takeCount)
public void ToArray_MemoryPool_Must_Succeed(int[] source, int skip, int take)
{
// Arrange
var pool = MemoryPool<int>.Shared;
var (skip, take) = Utils.SkipTake(source.Length, skipCount, takeCount);
var wrapped = new ArraySegment<int>(source, skip, take);
var (offset, count) = Utils.SkipTake(source.Length, skip, take);
var wrapped = new ArraySegment<int>(source, offset, count);
var expected = Enumerable
.ToArray(wrapped);

Expand Down
Loading

0 comments on commit 5c13d29

Please sign in to comment.