Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 10 additions & 25 deletions TUnit.Core/Attributes/TestData/AsyncDataSourceGeneratorAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,9 @@ public abstract class AsyncDataSourceGeneratorAttribute<[DynamicallyAccessedMemb
{
protected abstract IAsyncEnumerable<Func<Task<T>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public sealed override async IAsyncEnumerable<Func<Task<T>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
public sealed override IAsyncEnumerable<Func<Task<T>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}
}

Expand All @@ -25,12 +22,9 @@ public abstract class AsyncDataSourceGeneratorAttribute<
{
protected abstract IAsyncEnumerable<Func<Task<(T1, T2)>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public sealed override async IAsyncEnumerable<Func<Task<(T1, T2)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
public sealed override IAsyncEnumerable<Func<Task<(T1, T2)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}
}

Expand All @@ -45,12 +39,9 @@ public abstract class AsyncDataSourceGeneratorAttribute<
{
protected abstract IAsyncEnumerable<Func<Task<(T1, T2, T3)>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public sealed override async IAsyncEnumerable<Func<Task<(T1, T2, T3)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
public sealed override IAsyncEnumerable<Func<Task<(T1, T2, T3)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}
}

Expand All @@ -67,12 +58,9 @@ public abstract class AsyncDataSourceGeneratorAttribute<
{
protected abstract IAsyncEnumerable<Func<Task<(T1, T2, T3, T4)>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public override async IAsyncEnumerable<Func<Task<(T1, T2, T3, T4)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
public override IAsyncEnumerable<Func<Task<(T1, T2, T3, T4)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}
}

Expand All @@ -91,11 +79,8 @@ public abstract class AsyncDataSourceGeneratorAttribute<
{
protected abstract IAsyncEnumerable<Func<Task<(T1, T2, T3, T4, T5)>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public override async IAsyncEnumerable<Func<Task<(T1, T2, T3, T4, T5)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
public override IAsyncEnumerable<Func<Task<(T1, T2, T3, T4, T5)>>> GetTypedDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,11 @@ public abstract class AsyncUntypedDataSourceGeneratorAttribute : Attribute, IAsy

protected abstract IAsyncEnumerable<Func<Task<object?[]?>>> GenerateDataSourcesAsync(DataGeneratorMetadata dataGeneratorMetadata);

public async IAsyncEnumerable<Func<Task<object?[]?>>> GenerateAsync(DataGeneratorMetadata dataGeneratorMetadata)
public IAsyncEnumerable<Func<Task<object?[]?>>> GenerateAsync(DataGeneratorMetadata dataGeneratorMetadata)
{
// Data source initialization is now handled externally by DataSourceInitializer
// This follows SRP - the attribute is only responsible for generating data, not initialization
await foreach (var generateDataSource in GenerateDataSourcesAsync(dataGeneratorMetadata))
{
yield return generateDataSource;
}
return GenerateDataSourcesAsync(dataGeneratorMetadata);
}

public IAsyncEnumerable<Func<Task<object?[]?>>> GetDataRowsAsync(DataGeneratorMetadata dataGeneratorMetadata)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,39 +140,34 @@ namespace
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<T>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<T>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2> : .TypedDataSourceAttribute<<T1, T2>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3> : .TypedDataSourceAttribute<<T1, T2, T3>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2, T3>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4> : .TypedDataSourceAttribute<<T1, T2, T3, T4>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4, [.(..PublicConstructors)] T5> : .TypedDataSourceAttribute<<T1, T2, T3, T4, T5>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4, T5>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4, T5>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4, T5>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
public class AsyncEvent<TEventArgs>
Expand All @@ -195,7 +190,6 @@ namespace
{
protected AsyncUntypedDataSourceGeneratorAttribute() { }
public virtual bool SkipIfEmpty { get; set; }
[.(typeof(.AsyncUntypedDataSourceGeneratorAttribute.<GenerateAsync>d__5))]
public .<<.<object?[]?>>> GenerateAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
protected abstract .<<.<object?[]?>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
public .<<.<object?[]?>>> GetDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,39 +140,34 @@ namespace
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<T>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<T>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2> : .TypedDataSourceAttribute<<T1, T2>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3> : .TypedDataSourceAttribute<<T1, T2, T3>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2, T3>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4> : .TypedDataSourceAttribute<<T1, T2, T3, T4>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4, [.(..PublicConstructors)] T5> : .TypedDataSourceAttribute<<T1, T2, T3, T4, T5>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4, T5>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4, T5>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4, T5>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
public class AsyncEvent<TEventArgs>
Expand All @@ -195,7 +190,6 @@ namespace
{
protected AsyncUntypedDataSourceGeneratorAttribute() { }
public virtual bool SkipIfEmpty { get; set; }
[.(typeof(.AsyncUntypedDataSourceGeneratorAttribute.<GenerateAsync>d__5))]
public .<<.<object?[]?>>> GenerateAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
protected abstract .<<.<object?[]?>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
public .<<.<object?[]?>>> GetDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,39 +140,34 @@ namespace
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<T>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<T>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2> : .TypedDataSourceAttribute<<T1, T2>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3> : .TypedDataSourceAttribute<<T1, T2, T3>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2, T3>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4> : .TypedDataSourceAttribute<<T1, T2, T3, T4>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<[.(..PublicConstructors)] T1, [.(..PublicConstructors)] T2, [.(..PublicConstructors)] T3, [.(..PublicConstructors)] T4, [.(..PublicConstructors)] T5> : .TypedDataSourceAttribute<<T1, T2, T3, T4, T5>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4, T5>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4, T5>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4, T5>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
public class AsyncEvent<TEventArgs>
Expand All @@ -195,7 +190,6 @@ namespace
{
protected AsyncUntypedDataSourceGeneratorAttribute() { }
public virtual bool SkipIfEmpty { get; set; }
[.(typeof(.AsyncUntypedDataSourceGeneratorAttribute.<GenerateAsync>d__5))]
public .<<.<object?[]?>>> GenerateAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
protected abstract .<<.<object?[]?>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
public .<<.<object?[]?>>> GetDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,39 +137,34 @@ namespace
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<T>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<T>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<T1, T2> : .TypedDataSourceAttribute<<T1, T2>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<T1, T2, T3> : .TypedDataSourceAttribute<<T1, T2, T3>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3>.<GetTypedDataRowsAsync>d__1))]
public override sealed .<<.<<T1, T2, T3>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4> : .TypedDataSourceAttribute<<T1, T2, T3, T4>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
[(.Class | .Method, AllowMultiple=true)]
public abstract class AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4, T5> : .TypedDataSourceAttribute<<T1, T2, T3, T4, T5>>
{
protected AsyncDataSourceGeneratorAttribute() { }
protected abstract .<<.<<T1, T2, T3, T4, T5>>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
[.(typeof(.AsyncDataSourceGeneratorAttribute<T1, T2, T3, T4, T5>.<GetTypedDataRowsAsync>d__1))]
public override .<<.<<T1, T2, T3, T4, T5>>>> GetTypedDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
}
public class AsyncEvent<TEventArgs>
Expand All @@ -192,7 +187,6 @@ namespace
{
protected AsyncUntypedDataSourceGeneratorAttribute() { }
public virtual bool SkipIfEmpty { get; set; }
[.(typeof(.AsyncUntypedDataSourceGeneratorAttribute.<GenerateAsync>d__5))]
public .<<.<object?[]?>>> GenerateAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
protected abstract .<<.<object?[]?>>> GenerateDataSourcesAsync(.DataGeneratorMetadata dataGeneratorMetadata);
public .<<.<object?[]?>>> GetDataRowsAsync(.DataGeneratorMetadata dataGeneratorMetadata) { }
Expand Down
Loading