Skip to content

Commit 4312cb0

Browse files
authored
Merge pull request #5 from nsarris/release/v1.0.0
Release/v1.0.0
2 parents 6d46af5 + bf56bde commit 4312cb0

6 files changed

Lines changed: 146 additions & 50 deletions

File tree

src/ParallelTasks/EnumerableExtensions.cs

Lines changed: 40 additions & 40 deletions
Large diffs are not rendered by default.

src/ParallelTasks/TaskResultExtensions.cs

Lines changed: 98 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public static class TaskResultExtensions
1212
/// <param name="taskResults">The enumeration of ITaskResults.</param>
1313
/// <returns>True if all tasks completed succesfully, othrewise false</returns>
1414
public static bool AllCompletedSuccessfully(this IEnumerable<ITaskResult> taskResults)
15-
=> !taskResults.Any(x => x.IsCanceled || x.IsFaulted);
15+
=> !taskResults.Any(x => !x.IsCompleted);
1616

1717
/// <summary>
1818
/// Check if all results in a collection have been canceled or failed.
@@ -30,6 +30,30 @@ public static bool AllFailedOrCanceled(this IEnumerable<ITaskResult> taskResults
3030
public static IEnumerable<ITaskResult> GetFailed(this IEnumerable<ITaskResult> taskResults)
3131
=> taskResults.Where(x => x.IsFaulted);
3232

33+
/// <summary>
34+
/// Gets all the failed results in an enumeration.
35+
/// </summary>
36+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
37+
/// <returns>An enumeration of failed results.</returns>
38+
public static IEnumerable<ITaskResult<T>> GetFailed<T>(this IEnumerable<ITaskResult<T>> taskResults)
39+
=> taskResults.Where(x => x.IsFaulted);
40+
41+
/// <summary>
42+
/// Gets all the failed results in an enumeration.
43+
/// </summary>
44+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
45+
/// <returns>An enumeration of failed results.</returns>
46+
public static IEnumerable<ISourcedTaskResult<T>> GetFailed<T>(this IEnumerable<ISourcedTaskResult<T>> taskResults)
47+
=> taskResults.Where(x => x.IsFaulted);
48+
49+
/// <summary>
50+
/// Gets all the failed results in an enumeration.
51+
/// </summary>
52+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
53+
/// <returns>An enumeration of failed results.</returns>
54+
public static IEnumerable<ISourcedTaskResult<TSource, TResult>> GetFailed<TSource, TResult>(this IEnumerable<ISourcedTaskResult<TSource, TResult>> taskResults)
55+
=> taskResults.Where(x => x.IsFaulted);
56+
3357
/// <summary>
3458
/// Gets all the canceled results in an enumeration.
3559
/// </summary>
@@ -38,13 +62,61 @@ public static IEnumerable<ITaskResult> GetFailed(this IEnumerable<ITaskResult> t
3862
public static IEnumerable<ITaskResult> GetCanceled(this IEnumerable<ITaskResult> taskResults)
3963
=> taskResults.Where(x => x.IsCanceled);
4064

65+
/// <summary>
66+
/// Gets all the canceled results in an enumeration.
67+
/// </summary>
68+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
69+
/// <returns>An enumeration of canceled results.</returns>
70+
public static IEnumerable<ITaskResult<T>> GetCanceled<T>(this IEnumerable<ITaskResult<T>> taskResults)
71+
=> taskResults.Where(x => x.IsCanceled);
72+
73+
/// <summary>
74+
/// Gets all the canceled results in an enumeration.
75+
/// </summary>
76+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
77+
/// <returns>An enumeration of canceled results.</returns>
78+
public static IEnumerable<ISourcedTaskResult<T>> GetCanceled<T>(this IEnumerable<ISourcedTaskResult<T>> taskResults)
79+
=> taskResults.Where(x => x.IsCanceled);
80+
81+
/// <summary>
82+
/// Gets all the canceled results in an enumeration.
83+
/// </summary>
84+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
85+
/// <returns>An enumeration of canceled results.</returns>
86+
public static IEnumerable<ISourcedTaskResult<TSource, TResult>> GetCanceled<TSource, TResult>(this IEnumerable<ISourcedTaskResult<TSource, TResult>> taskResults)
87+
=> taskResults.Where(x => x.IsCanceled);
88+
4189
/// <summary>
4290
/// Gets all the failed or canceled results in an enumeration.
4391
/// </summary>
4492
/// <param name="taskResults">The enumeration of ITaskResults.</param>
4593
/// <returns>An enumeration of failed or canceled results.</returns>
4694
public static IEnumerable<ITaskResult> GetFailedOrCanceled(this IEnumerable<ITaskResult> taskResults)
47-
=> taskResults.Where(x => x.IsFaulted || x.IsCanceled);
95+
=> taskResults.Where(x => !x.IsCompleted);
96+
97+
/// <summary>
98+
/// Gets all the failed or canceled results in an enumeration.
99+
/// </summary>
100+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
101+
/// <returns>An enumeration of failed or canceled results.</returns>
102+
public static IEnumerable<ITaskResult<T>> GetFailedOrCanceled<T>(this IEnumerable<ITaskResult<T>> taskResults)
103+
=> taskResults.Where(x => !x.IsCompleted);
104+
105+
/// <summary>
106+
/// Gets all the failed or canceled results in an enumeration.
107+
/// </summary>
108+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
109+
/// <returns>An enumeration of failed or canceled results.</returns>
110+
public static IEnumerable<ISourcedTaskResult<T>> GetFailedOrCanceled<T>(this IEnumerable<ISourcedTaskResult<T>> taskResults)
111+
=> taskResults.Where(x => !x.IsCompleted);
112+
113+
/// <summary>
114+
/// Gets all the failed or canceled results in an enumeration.
115+
/// </summary>
116+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
117+
/// <returns>An enumeration of failed or canceled results.</returns>
118+
public static IEnumerable<ISourcedTaskResult<TSource, TResult>> GetFailedOrCanceled<TSource, TResult>(this IEnumerable<ISourcedTaskResult<TSource, TResult>> taskResults)
119+
=> taskResults.Where(x => !x.IsCompleted);
48120

49121
/// <summary>
50122
/// Gets all the succesfull results in an enumeration.
@@ -54,6 +126,30 @@ public static IEnumerable<ITaskResult> GetFailedOrCanceled(this IEnumerable<ITas
54126
public static IEnumerable<ITaskResult> GetSuccessfull(this IEnumerable<ITaskResult> taskResults)
55127
=> taskResults.Where(x => x.IsCompleted);
56128

129+
/// <summary>
130+
/// Gets all the succesfull results in an enumeration.
131+
/// </summary>
132+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
133+
/// <returns>An enumeration of failed or canceled results.</returns>
134+
public static IEnumerable<ITaskResult<T>> GetSuccessfull<T>(this IEnumerable<ITaskResult<T>> taskResults)
135+
=> taskResults.Where(x => x.IsCompleted);
136+
137+
/// <summary>
138+
/// Gets all the succesfull results in an enumeration.
139+
/// </summary>
140+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
141+
/// <returns>An enumeration of failed or canceled results.</returns>
142+
public static IEnumerable<ISourcedTaskResult<T>> GetSuccessfull<T>(this IEnumerable<ISourcedTaskResult<T>> taskResults)
143+
=> taskResults.Where(x => x.IsCompleted);
144+
145+
/// <summary>
146+
/// Gets all the succesfull results in an enumeration.
147+
/// </summary>
148+
/// <param name="taskResults">The enumeration of ITaskResults.</param>
149+
/// <returns>An enumeration of failed or canceled results.</returns>
150+
public static IEnumerable<ISourcedTaskResult<TSource, TResult>> GetSuccessfull<TSource, TResult>(this IEnumerable<ISourcedTaskResult<TSource, TResult>> taskResults)
151+
=> taskResults.Where(x => x.IsCompleted);
152+
57153
/// <summary>
58154
/// Gets all the exceptions from the failed results in an enumeration.
59155
/// </summary>

test/ParallelTasks.Tests/SourcedTasks.WhenAll.Tests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public async Task Should_Complete_As_Expected(bool simulateTask)
2020
static string operation(int value) => (value + 1).ToString();
2121

2222
//Get a collection of TaskResults
23-
var results = await source.WhenAll(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask));
23+
var results = await source.WhenAllAsync(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask));
2424

2525
foreach(var r in source.Zip(results, (sourceValue, result) => new { sourceValue, result }).Select((x,i) => new { x.sourceValue, x.result, index = i }))
2626
{
@@ -41,8 +41,8 @@ public async Task Should_Complete_As_Expected_Named_Tasks(bool simulateTask)
4141
static string operation(int value) => (value + 1).ToString();
4242

4343
//Get a collection of TaskResults
44-
var results = await source.WhenAll(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask));
45-
44+
var results = await source.WhenAllAsync(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask));
45+
4646
foreach (var r in source.Zip(results, (sourceValue, result) => new { sourceValue, result }).Select((x, i) => new { x.sourceValue, x.result, index = i }))
4747
{
4848
r.result.ShouldBeCompleted();

test/ParallelTasks.Tests/SourcedTasks.WhenAny.Tests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public async Task Should_Complete_As_Expected(bool simulateTask)
1818
var source = new[] { 1, 3, 5 };
1919

2020
//Get a random result
21-
var result = await source.WhenAny(x => TestClass.TestMethod(x, simulateTask: simulateTask));
21+
var result = await source.WhenAnyAsync(x => TestClass.TestMethod(x, simulateTask: simulateTask));
2222

2323
result.ShouldBeCompleted();
2424
result.ShouldHaveResult(result.Source);
@@ -33,7 +33,7 @@ public async Task Should_Complete_As_Expected_Named_Tasks(bool simulateTask)
3333
var source = new (string name, int value)[] { ("1", 1), ("3", 3), ("5", 5) };
3434

3535
//Get a random result
36-
var result = await source.WhenAny((int x) => TestClass.TestMethod(x, simulateTask: simulateTask));
36+
var result = await source.WhenAnyAsync((int x) => TestClass.TestMethod(x, simulateTask: simulateTask));
3737

3838
result.ShouldBeCompleted();
3939
result.ShouldHaveResult(result.Source);

test/ParallelTasks.Tests/SourcedTasks.WhenEach.Tests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public async Task Should_Complete_As_Expected(bool simulateTask)
2020
static string operation(int value) => (value + 1).ToString();
2121

2222
//Asynchronously iterate results
23-
await foreach (var r in source.WhenEach(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask)))
23+
await foreach (var r in source.WhenEachAsync(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask)))
2424
{
2525
var sourceValue = source[r.Index.Value];
2626

@@ -41,7 +41,7 @@ public async Task Should_Complete_As_Expected_Named_Tasks(bool simulateTask)
4141
static string operation(int value) => (value + 1).ToString();
4242

4343
//Asynchronously iterate results
44-
await foreach (var r in source.WhenEach(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask)))
44+
await foreach (var r in source.WhenEachAsync(x => TestClass.TestMethod(operation(x), simulateTask: simulateTask)))
4545
{
4646
var sourceValue = source[r.Index.Value].value;
4747
var sourceName = source[r.Index.Value].name;

version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<VersionPrefix>1.0.0</VersionPrefix>
5-
<VersionSuffix>pre-2</VersionSuffix>
5+
<VersionSuffix></VersionSuffix>
66
</PropertyGroup>
77

88
</Project>

0 commit comments

Comments
 (0)