Skip to content

Commit

Permalink
Improve coverage (#342)
Browse files Browse the repository at this point in the history
* Improve coverage

* Fix build
  • Loading branch information
aalmada committed Mar 4, 2021
1 parent 4ddac76 commit 893396f
Show file tree
Hide file tree
Showing 29 changed files with 904 additions and 196 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public async ValueTask CountAsync_With_ValidData_Must_Succeed(int[] source)

// Act
var result = await wrapped
.CountAsync<Wrap.AsyncValueEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>();
.CountAsync<Wrap.AsyncValueEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -44,7 +45,8 @@ public async ValueTask CountAsync_Predicate_With_ValidData_Must_Succeed(int[] so
// Act
var result = await wrapped
.Where<Wrap.AsyncValueEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>(predicate.AsAsync())
.CountAsync();
.CountAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -67,7 +69,8 @@ public async ValueTask CountAsync_PredicateAt_With_ValidData_Must_Succeed(int[]
// Act
var result = await wrapped
.Where<Wrap.AsyncValueEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>(predicate.AsAsync())
.CountAsync();
.CountAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using NetFabric.Assertive;
using System;
using System.Linq;
using System.Threading.Tasks;
using Xunit;

namespace NetFabric.Hyperlinq.UnitTests.Aggregation.Sum
{
public class AsyncValueEnumerableTests
{
[Theory]
[MemberData(nameof(TestData.Sum), MemberType = typeof(TestData))]
public async ValueTask SumAsync_With_ValidData_Must_Succeed(int[] source)
{
// Arrange
var wrapped = Wrap.AsAsyncValueEnumerable(source);
var expected = source
.Sum();

// Act
var result = await wrapped
.SumAsync<Wrap.AsyncValueEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int, int>()
.ConfigureAwait(false);

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

[Theory]
[MemberData(nameof(TestData.NullableSum), MemberType = typeof(TestData))]
public async ValueTask SumAsync_With_Nullable_ValidData_Must_Succeed(int?[] source)
{
// Arrange
var wrapped = Wrap.AsAsyncValueEnumerable(source);
var expected = source
.Sum();

// Act
var result = await wrapped
.SumAsync<Wrap.AsyncValueEnumerableWrapper<int?>, Wrap.AsyncEnumerator<int?>, int?, int>()
.ConfigureAwait(false);

// Assert
_ = result.Must()
.BeEqualTo(expected.Value);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ public async ValueTask AsAsyncValueEnumerable_With_ToArrayAsync_Must_Succeed(int
// Act
var result = await wrapped
.AsAsyncValueEnumerable()
.ToArrayAsync();
.ToArrayAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -67,7 +68,8 @@ public async ValueTask AsAsyncValueEnumerable_With_ToListAsync_Must_Succeed(int[
// Act
var result = await wrapped
.AsAsyncValueEnumerable()
.ToListAsync();
.ToListAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand Down Expand Up @@ -109,7 +111,8 @@ public async ValueTask AsAsyncValueEnumerable_GetEnumerator_ToListAsync_With_Val
// Act
var result = await wrapped
.AsAsyncValueEnumerable<Wrap.AsyncEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>((enumerable, _) => enumerable.GetAsyncEnumerator())
.ToListAsync();
.ToListAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -130,12 +133,13 @@ public async ValueTask AsAsyncValueEnumerable_GetEnumerator_ToArrayAsync_With_Va
// Act
var result = await wrapped
.AsAsyncValueEnumerable<Wrap.AsyncEnumerableWrapper<int>, Wrap.AsyncEnumerator<int>, int>((enumerable, _) => enumerable.GetAsyncEnumerator())
.ToArrayAsync();
.ToArrayAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
.BeArrayOf<int>()
.BeEqualTo(source);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ public async ValueTask AsAsyncValueEnumerable_With_ToArrayAsync_Must_Succeed(int
// Act
var result = await wrapped
.AsAsyncValueEnumerable<Wrap.ValueEnumerableWrapper<int>, Wrap.Enumerator<int>, int>()
.ToArrayAsync();
.ToArrayAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -67,7 +68,8 @@ public async ValueTask AsAsyncValueEnumerable_With_ToListAsync_Must_Succeed(int[
// Act
var result = await wrapped
.AsAsyncValueEnumerable<Wrap.ValueEnumerableWrapper<int>, Wrap.Enumerator<int>, int>()
.ToListAsync();
.ToListAsync()
.ConfigureAwait(false);

// Assert
_ = result.Must()
Expand All @@ -76,4 +78,4 @@ public async ValueTask AsAsyncValueEnumerable_With_ToListAsync_Must_Succeed(int[
.BeEqualTo(expected);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
using System.Linq;
using NetFabric.Assertive;
using System;
using Xunit;

namespace NetFabric.Hyperlinq.UnitTests.Conversion.AsValueEnumerable
{
public partial class ArraySegmentTests
{
[Theory]
[MemberData(nameof(TestData.Empty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.Single), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.Multiple), MemberType = typeof(TestData))]
public void AsValueEnumerable1_With_ValidData_Must_Succeed(int[] source)
{
// Arrange
var wrapped = new ArraySegment<int>(source);

// Act
var result = wrapped
.AsValueEnumerable();

// Assert
_ = result.Must()
.BeEnumerableOf<int>()
.BeEqualTo(source, testRefStructs: false);
result.SequenceEqual(source).Must().BeTrue();
}

[Theory]
[MemberData(nameof(TestData.SkipEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipMultiple), MemberType = typeof(TestData))]
public void AsValueEnumerable1_Skip_With_ValidData_Must_Succeed(int[] source, int count)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = source
.Skip(count);

// Act
var result = wrapped
.AsValueEnumerable()
.Skip(count);

// Assert
_ = result.Must()
.BeEnumerableOf<int>()
.BeEqualTo(expected, testRefStructs: false);
result.SequenceEqual(expected).Must().BeTrue();
}

[Theory]
[MemberData(nameof(TestData.Skip_Skip), MemberType = typeof(TestData))]
public void AsValueEnumerable1_Skip_Skip_With_ValidData_Must_Succeed(int[] source, int count0, int count1)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = source
.Skip(count0)
.Skip(count1);

// Act
var result = wrapped
.AsValueEnumerable()
.Skip(count0)
.Skip(count1);

// Assert
_ = result.Must()
.BeEnumerableOf<int>()
.BeEqualTo(expected, testRefStructs: false);
result.SequenceEqual(expected).Must().BeTrue();
}

[Theory]
[MemberData(nameof(TestData.TakeEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.TakeSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.TakeMultiple), MemberType = typeof(TestData))]
public void AsValueEnumerable1_Take_With_ValidData_Must_Succeed(int[] source, int count)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = source
.Take(count);

// Act
var result = wrapped
.AsValueEnumerable()
.Take(count);

// Assert
_ = result.Must()
.BeEnumerableOf<int>()
.BeEqualTo(expected, testRefStructs: false);
result.SequenceEqual(expected).Must().BeTrue();
}

[Theory]
[MemberData(nameof(TestData.Take_Take), MemberType = typeof(TestData))]
public void AsValueEnumerable1_Take_Take_With_ValidData_Must_Succeed(int[] source, int count0, int count1)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = source
.Take(count0)
.Take(count1);

// Act
var result = wrapped
.AsValueEnumerable()
.Take(count0)
.Take(count1);

// Assert
_ = result.Must()
.BeEnumerableOf<int>()
.BeEqualTo(expected, testRefStructs: false);
result.SequenceEqual(expected).Must().BeTrue();
}

[Theory]
[MemberData(nameof(TestData.SkipTakeEmpty), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeSingle), MemberType = typeof(TestData))]
[MemberData(nameof(TestData.SkipTakeMultiple), MemberType = typeof(TestData))]
public void AsValueEnumerable1_Sum_With_ValidData_Must_Succeed(int[] source, int skipCount, int takeCount)
{
// Arrange
var wrapped = new ArraySegment<int>(source);
var expected = source
.Skip(skipCount)
.Take(takeCount)
.Sum();

// Act
var result = wrapped
.AsValueEnumerable()
.Skip(skipCount)
.Take(takeCount)
.Sum();

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

0 comments on commit 893396f

Please sign in to comment.