From b1845ccc1f8af33286960eb480b5574ef3cfe628 Mon Sep 17 00:00:00 2001
From: Tom Longhurst <30480171+thomhurst@users.noreply.github.com>
Date: Tue, 8 Apr 2025 19:40:23 +0100
Subject: [PATCH 1/9] TUnit Support
---
AutoFixture.TUnit.sln | 8 +
.../ArgumentsAutoDataAttribute.cs | 54 ++
src/AutoFixture.TUnit/AutoDataAttribute.cs | 53 ++
.../AutoFixtureDataSourceAttribute.cs | 52 ++
.../AutoFixtureLogo200x200.png | Bin 0 -> 14319 bytes
src/AutoFixture.TUnit/Class1.cs | 14 -
.../ClassAutoDataAttribute.cs | 104 ++++
.../CompositeDataAttribute.cs | 56 ++
src/AutoFixture.TUnit/CustomizeAttribute.cs | 19 +
.../DataGeneratorMetadataExtensions.cs | 17 +
src/AutoFixture.TUnit/FavorArraysAttribute.cs | 33 ++
.../FavorEnumerablesAttribute.cs | 33 ++
src/AutoFixture.TUnit/FavorListsAttribute.cs | 33 ++
src/AutoFixture.TUnit/FrozenAttribute.cs | 73 +++
src/AutoFixture.TUnit/GreedyAttribute.cs | 33 ++
src/AutoFixture.TUnit/Internal/Argument.cs | 17 +
.../Internal/AutoDataSource.cs | 94 +++
.../Internal/ClassDataSource.cs | 49 ++
.../Internal/CustomizationExtensions.cs | 10 +
.../Internal/CustomizeAttributeComparer.cs | 15 +
src/AutoFixture.TUnit/Internal/DataSource.cs | 13 +
.../Internal/EnumerableExtensions.cs | 58 ++
.../Internal/FieldDataSource.cs | 48 ++
.../Internal/FrozenValueCustomization.cs | 26 +
src/AutoFixture.TUnit/Internal/IDataSource.cs | 15 +
.../Internal/InlineDataSource.cs | 49 ++
.../Internal/MemberDataSource.cs | 90 +++
.../Internal/MethodDataSource.cs | 48 ++
.../Internal/NullCustomization.cs | 20 +
.../Internal/ParameterFilter.cs | 43 ++
.../Internal/ParameterMatcherBuilder.cs | 199 +++++++
.../Internal/PropertyDataSource.cs | 41 ++
.../Internal/ReflectionExtensions.cs | 23 +
.../Internal/TestParameter.cs | 57 ++
.../Internal/ValueTaskExtensions.cs | 20 +
src/AutoFixture.TUnit/Matching.cs | 62 ++
.../MemberAutoDataAttribute.cs | 109 ++++
src/AutoFixture.TUnit/ModestAttribute.cs | 33 ++
.../NoAutoPropertiesAttribute.cs | 34 ++
.../ArgumentsAutoDataAttributeTests.cs | 168 ++++++
.../AutoDataAttributeTest.cs | 178 ++++++
.../AutoFixture.TUnit.Tests.csproj | 1 +
.../AutoFixtureLogo200x200.png | Bin 0 -> 14319 bytes
.../ClassAutoDataAttributeTests.cs | 313 ++++++++++
.../ClassAutoDataScenarioTests.cs | 63 ++
...ompositeDataAttributeSufficientDataTest.cs | 207 +++++++
.../CompositeDataAttributeTest.cs | 108 ++++
.../CustomizeAttributeTest.cs | 36 ++
.../DataGeneratorMetadataHelper.cs | 62 ++
.../DependencyConstraintsTests.cs | 46 ++
.../EnumerableExtensions.cs | 57 ++
.../FavorArraysAttributeTest.cs | 44 ++
.../FavorEnumerablesAttributeTest.cs | 44 ++
.../FavorListsAttributeTest.cs | 44 ++
.../FrozenAttributeTest.cs | 26 +
.../GreedyAttributeTest.cs | 47 ++
.../Internal/AutoDataSourceTests.cs | 233 ++++++++
.../Internal/ClassDataSourceTests.cs | 138 +++++
.../Internal/DataSourceTests.cs | 112 ++++
.../Internal/FieldDataSourceTests.cs | 110 ++++
.../Internal/InlineDataSourceTests.cs | 99 ++++
.../Internal/MemberDataSourceTests.cs | 113 ++++
.../Internal/MethodDataSourceTests.cs | 106 ++++
.../Internal/PropertyDataSourceTests.cs | 144 +++++
.../MemberAutoDataAttributeScenarioTests.cs | 161 +++++
.../MemberAutoDataAttributeTest.cs | 408 +++++++++++++
.../ModestAttributeTest.cs | 45 ++
.../NoAutoPropertiesAttributeTest.cs | 41 ++
tests/AutoFixture.TUnit.Tests/Scenario.cs | 560 ++++++++++++++++++
.../TestTypes/ChildTestTypeMethodData.cs | 25 +
.../TestTypes/ClassWithEmptyTestData.cs | 15 +
.../TestTypes/ClassWithNullTestData.cs | 15 +
...CompositeTypeWithOverloadedConstructors.cs | 21 +
.../TestTypes/DelegatingCustomization.cs | 16 +
.../TestTypes/DelegatingCustomizeAttribute.cs | 18 +
.../TestTypes/DelegatingDataSource.cs | 13 +
.../TestTypes/DelegatingFixture.cs | 90 +++
.../TestTypes/DelegatingMemberDataSource.cs | 13 +
.../TestTypes/DelegatingSpecimenBuilder.cs | 13 +
.../TestTypes/DelegatingTestData.cs | 22 +
.../DerivedArgumentsAutoDataAttribute.cs | 9 +
.../TestTypes/DerivedAutoDataAttribute.cs | 9 +
.../DerivedClassAutoDataAttribute.cs | 14 +
.../DerivedMemberAutoDataAttribute.cs | 14 +
.../TestTypes/EmptyClassData.cs | 13 +
.../TestTypes/ExampleTestClass.cs | 22 +
.../TestTypes/FakeDataAttribute.cs | 20 +
.../TestTypes/FixedParameterBuilder.cs | 11 +
.../TestTypes/InlineAttributeTestData.cs | 53 ++
.../TestTypes/InlineFrozenValuesTestData.cs | 32 +
.../InlinePrimitiveValuesTestData.cs | 32 +
.../TestTypes/MixedTypeClassData.cs | 18 +
.../TestTypes/MyClass.cs | 6 +
.../TestTypes/ParameterNameCriterion.cs | 28 +
.../TestTypes/ParameterizedClassData.cs | 26 +
.../TestTypes/SampleTestType.cs | 38 ++
.../TestTypes/TestTypeWithMemberDataSource.cs | 37 ++
.../TestTypes/TestTypeWithMethodData.cs | 159 +++++
.../TypeWithCustomizationAttributes.cs | 54 ++
...eWithIParameterCustomizationSourceUsage.cs | 26 +
tests/AutoFixture.TUnit.Tests/UnitTest1.cs | 14 -
.../ValueTaskExtensions.cs | 20 +
.../AbstractClassWithPublicConstructor.cs | 9 +
.../TestTypeFoundation/AbstractGenericType.cs | 12 +
tests/TestTypeFoundation/AbstractType.cs | 19 +
...peWithConstructorWithMultipleParameters.cs | 17 +
.../AbstractTypeWithNonDefaultConstructor.cs | 17 +
tests/TestTypeFoundation/ActivityScope.cs | 46 ++
tests/TestTypeFoundation/CollectionHolder.cs | 12 +
tests/TestTypeFoundation/CompositeType.cs | 22 +
tests/TestTypeFoundation/ConcreteType.cs | 39 ++
...TypeWithPrivateParameterlessConstructor.cs | 13 +
tests/TestTypeFoundation/DoubleFieldHolder.cs | 9 +
.../TestTypeFoundation/DoubleParameterType.cs | 15 +
.../DoublePropertyHolder.cs | 9 +
tests/TestTypeFoundation/EmptyEnum.cs | 7 +
tests/TestTypeFoundation/EnumType.cs | 58 ++
tests/TestTypeFoundation/EqualityResponder.cs | 22 +
tests/TestTypeFoundation/FieldHolder.cs | 15 +
tests/TestTypeFoundation/GenericType.cs | 18 +
.../GuardedConstructorHost.cs | 18 +
...nstructorHostHoldingStaticReadOnlyField.cs | 20 +
...ructorHostHoldingStaticReadOnlyProperty.cs | 25 +
tests/TestTypeFoundation/GuardedMethodHost.cs | 81 +++
.../GuardedPropertyHolder.cs | 26 +
.../GuardedStaticMethodOnStaticTypeHost.cs | 10 +
tests/TestTypeFoundation/IInterface.cs | 7 +
.../IllBehavedPropertyHolder.cs | 32 +
.../IndexedPropertyHolder.cs | 18 +
.../InternalGetterPropertyHolder.cs | 12 +
tests/TestTypeFoundation/ItemContainer.cs | 22 +
tests/TestTypeFoundation/ItemHolder.cs | 61 ++
.../MultiUnorderedConstructorType.cs | 48 ++
tests/TestTypeFoundation/MutableValueType.cs | 19 +
.../MutableValueTypeWithoutConstructor.cs | 8 +
.../NonCompliantCollectionHolder.cs | 12 +
.../NoopInterfaceImplementer.cs | 10 +
.../Properties/AssemblyInfo.cs | 12 +
tests/TestTypeFoundation/PropertyHolder.cs | 20 +
.../QuadrupleParameterType.cs | 21 +
.../TestTypeFoundation/ReadOnlyFieldHolder.cs | 7 +
.../ReadOnlyPropertyHolder.cs | 7 +
tests/TestTypeFoundation/RecordType.cs | 29 +
.../TestTypeFoundation/SingleParameterType.cs | 12 +
tests/TestTypeFoundation/StaticFieldHolder.cs | 7 +
.../StaticPropertyHolder.cs | 7 +
.../TestTypeFoundation.csproj | 12 +
tests/TestTypeFoundation/TriState.cs | 9 +
.../TestTypeFoundation/TripleParameterType.cs | 18 +
.../TriplePropertyHolder.cs | 11 +
...thCastOperatorsWithoutPublicConstructor.cs | 19 +
.../TypeWithConcreteParameterMethod.cs | 9 +
.../TypeWithEmptyEnumField.cs | 9 +
.../TypeWithFactoryMethod.cs | 24 +
.../TypeWithFactoryProperty.cs | 17 +
tests/TestTypeFoundation/TypeWithIndexer.cs | 24 +
.../TypeWithOverloadedMembers.cs | 29 +
.../TypeWithPseudoFactoryMethod.cs | 21 +
tests/TestTypeFoundation/TypeWithRefMethod.cs | 13 +
.../UnguardedConstructorHost.cs | 27 +
.../TestTypeFoundation/UnguardedMethodHost.cs | 17 +
.../UnguardedStaticMethodOnStaticTypeHost.cs | 9 +
...UnguardedStaticPropertyOnStaticTypeHost.cs | 11 +
163 files changed, 7546 insertions(+), 28 deletions(-)
create mode 100644 src/AutoFixture.TUnit/ArgumentsAutoDataAttribute.cs
create mode 100644 src/AutoFixture.TUnit/AutoDataAttribute.cs
create mode 100644 src/AutoFixture.TUnit/AutoFixtureDataSourceAttribute.cs
create mode 100644 src/AutoFixture.TUnit/AutoFixtureLogo200x200.png
delete mode 100644 src/AutoFixture.TUnit/Class1.cs
create mode 100644 src/AutoFixture.TUnit/ClassAutoDataAttribute.cs
create mode 100644 src/AutoFixture.TUnit/CompositeDataAttribute.cs
create mode 100644 src/AutoFixture.TUnit/CustomizeAttribute.cs
create mode 100644 src/AutoFixture.TUnit/Extensions/DataGeneratorMetadataExtensions.cs
create mode 100644 src/AutoFixture.TUnit/FavorArraysAttribute.cs
create mode 100644 src/AutoFixture.TUnit/FavorEnumerablesAttribute.cs
create mode 100644 src/AutoFixture.TUnit/FavorListsAttribute.cs
create mode 100644 src/AutoFixture.TUnit/FrozenAttribute.cs
create mode 100644 src/AutoFixture.TUnit/GreedyAttribute.cs
create mode 100644 src/AutoFixture.TUnit/Internal/Argument.cs
create mode 100644 src/AutoFixture.TUnit/Internal/AutoDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/ClassDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/CustomizationExtensions.cs
create mode 100644 src/AutoFixture.TUnit/Internal/CustomizeAttributeComparer.cs
create mode 100644 src/AutoFixture.TUnit/Internal/DataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/EnumerableExtensions.cs
create mode 100644 src/AutoFixture.TUnit/Internal/FieldDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/FrozenValueCustomization.cs
create mode 100644 src/AutoFixture.TUnit/Internal/IDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/InlineDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/MemberDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/MethodDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/NullCustomization.cs
create mode 100644 src/AutoFixture.TUnit/Internal/ParameterFilter.cs
create mode 100644 src/AutoFixture.TUnit/Internal/ParameterMatcherBuilder.cs
create mode 100644 src/AutoFixture.TUnit/Internal/PropertyDataSource.cs
create mode 100644 src/AutoFixture.TUnit/Internal/ReflectionExtensions.cs
create mode 100644 src/AutoFixture.TUnit/Internal/TestParameter.cs
create mode 100644 src/AutoFixture.TUnit/Internal/ValueTaskExtensions.cs
create mode 100644 src/AutoFixture.TUnit/Matching.cs
create mode 100644 src/AutoFixture.TUnit/MemberAutoDataAttribute.cs
create mode 100644 src/AutoFixture.TUnit/ModestAttribute.cs
create mode 100644 src/AutoFixture.TUnit/NoAutoPropertiesAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/ArgumentsAutoDataAttributeTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/AutoDataAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/AutoFixtureLogo200x200.png
create mode 100644 tests/AutoFixture.TUnit.Tests/ClassAutoDataAttributeTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/ClassAutoDataScenarioTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/CompositeDataAttributeSufficientDataTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/CompositeDataAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/CustomizeAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/DataGeneratorMetadataHelper.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/DependencyConstraintsTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/EnumerableExtensions.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/FavorArraysAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/FavorEnumerablesAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/FavorListsAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/FrozenAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/GreedyAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/AutoDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/ClassDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/DataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/FieldDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/InlineDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/MemberDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/MethodDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Internal/PropertyDataSourceTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/MemberAutoDataAttributeScenarioTests.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/MemberAutoDataAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/ModestAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/NoAutoPropertiesAttributeTest.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/Scenario.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ChildTestTypeMethodData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ClassWithEmptyTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ClassWithNullTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/CompositeTypeWithOverloadedConstructors.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingCustomization.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingCustomizeAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingDataSource.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingFixture.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingMemberDataSource.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingSpecimenBuilder.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DelegatingTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DerivedArgumentsAutoDataAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DerivedAutoDataAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DerivedClassAutoDataAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/DerivedMemberAutoDataAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/EmptyClassData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ExampleTestClass.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/FakeDataAttribute.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/FixedParameterBuilder.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/InlineAttributeTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/InlineFrozenValuesTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/InlinePrimitiveValuesTestData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/MixedTypeClassData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/MyClass.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ParameterNameCriterion.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/ParameterizedClassData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/SampleTestType.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/TestTypeWithMemberDataSource.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/TestTypeWithMethodData.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/TypeWithCustomizationAttributes.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/TestTypes/TypeWithIParameterCustomizationSourceUsage.cs
delete mode 100644 tests/AutoFixture.TUnit.Tests/UnitTest1.cs
create mode 100644 tests/AutoFixture.TUnit.Tests/ValueTaskExtensions.cs
create mode 100644 tests/TestTypeFoundation/AbstractClassWithPublicConstructor.cs
create mode 100644 tests/TestTypeFoundation/AbstractGenericType.cs
create mode 100644 tests/TestTypeFoundation/AbstractType.cs
create mode 100644 tests/TestTypeFoundation/AbstractTypeWithConstructorWithMultipleParameters.cs
create mode 100644 tests/TestTypeFoundation/AbstractTypeWithNonDefaultConstructor.cs
create mode 100644 tests/TestTypeFoundation/ActivityScope.cs
create mode 100644 tests/TestTypeFoundation/CollectionHolder.cs
create mode 100644 tests/TestTypeFoundation/CompositeType.cs
create mode 100644 tests/TestTypeFoundation/ConcreteType.cs
create mode 100644 tests/TestTypeFoundation/ConcreteTypeWithPrivateParameterlessConstructor.cs
create mode 100644 tests/TestTypeFoundation/DoubleFieldHolder.cs
create mode 100644 tests/TestTypeFoundation/DoubleParameterType.cs
create mode 100644 tests/TestTypeFoundation/DoublePropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/EmptyEnum.cs
create mode 100644 tests/TestTypeFoundation/EnumType.cs
create mode 100644 tests/TestTypeFoundation/EqualityResponder.cs
create mode 100644 tests/TestTypeFoundation/FieldHolder.cs
create mode 100644 tests/TestTypeFoundation/GenericType.cs
create mode 100644 tests/TestTypeFoundation/GuardedConstructorHost.cs
create mode 100644 tests/TestTypeFoundation/GuardedConstructorHostHoldingStaticReadOnlyField.cs
create mode 100644 tests/TestTypeFoundation/GuardedConstructorHostHoldingStaticReadOnlyProperty.cs
create mode 100644 tests/TestTypeFoundation/GuardedMethodHost.cs
create mode 100644 tests/TestTypeFoundation/GuardedPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/GuardedStaticMethodOnStaticTypeHost.cs
create mode 100644 tests/TestTypeFoundation/IInterface.cs
create mode 100644 tests/TestTypeFoundation/IllBehavedPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/IndexedPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/InternalGetterPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/ItemContainer.cs
create mode 100644 tests/TestTypeFoundation/ItemHolder.cs
create mode 100644 tests/TestTypeFoundation/MultiUnorderedConstructorType.cs
create mode 100644 tests/TestTypeFoundation/MutableValueType.cs
create mode 100644 tests/TestTypeFoundation/MutableValueTypeWithoutConstructor.cs
create mode 100644 tests/TestTypeFoundation/NonCompliantCollectionHolder.cs
create mode 100644 tests/TestTypeFoundation/NoopInterfaceImplementer.cs
create mode 100644 tests/TestTypeFoundation/Properties/AssemblyInfo.cs
create mode 100644 tests/TestTypeFoundation/PropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/QuadrupleParameterType.cs
create mode 100644 tests/TestTypeFoundation/ReadOnlyFieldHolder.cs
create mode 100644 tests/TestTypeFoundation/ReadOnlyPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/RecordType.cs
create mode 100644 tests/TestTypeFoundation/SingleParameterType.cs
create mode 100644 tests/TestTypeFoundation/StaticFieldHolder.cs
create mode 100644 tests/TestTypeFoundation/StaticPropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/TestTypeFoundation.csproj
create mode 100644 tests/TestTypeFoundation/TriState.cs
create mode 100644 tests/TestTypeFoundation/TripleParameterType.cs
create mode 100644 tests/TestTypeFoundation/TriplePropertyHolder.cs
create mode 100644 tests/TestTypeFoundation/TypeWithCastOperatorsWithoutPublicConstructor.cs
create mode 100644 tests/TestTypeFoundation/TypeWithConcreteParameterMethod.cs
create mode 100644 tests/TestTypeFoundation/TypeWithEmptyEnumField.cs
create mode 100644 tests/TestTypeFoundation/TypeWithFactoryMethod.cs
create mode 100644 tests/TestTypeFoundation/TypeWithFactoryProperty.cs
create mode 100644 tests/TestTypeFoundation/TypeWithIndexer.cs
create mode 100644 tests/TestTypeFoundation/TypeWithOverloadedMembers.cs
create mode 100644 tests/TestTypeFoundation/TypeWithPseudoFactoryMethod.cs
create mode 100644 tests/TestTypeFoundation/TypeWithRefMethod.cs
create mode 100644 tests/TestTypeFoundation/UnguardedConstructorHost.cs
create mode 100644 tests/TestTypeFoundation/UnguardedMethodHost.cs
create mode 100644 tests/TestTypeFoundation/UnguardedStaticMethodOnStaticTypeHost.cs
create mode 100644 tests/TestTypeFoundation/UnguardedStaticPropertyOnStaticTypeHost.cs
diff --git a/AutoFixture.TUnit.sln b/AutoFixture.TUnit.sln
index 92436f4..425e306 100644
--- a/AutoFixture.TUnit.sln
+++ b/AutoFixture.TUnit.sln
@@ -19,6 +19,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
LICENCE.txt = LICENCE.txt
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestTypeFoundation", "tests\TestTypeFoundation\TestTypeFoundation.csproj", "{5F812210-5B61-4CBF-A033-4C33067A5DE9}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -41,6 +43,12 @@ Global
{4056BD12-5FA8-4D2E-274A-7E85E858A5FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4056BD12-5FA8-4D2E-274A-7E85E858A5FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4056BD12-5FA8-4D2E-274A-7E85E858A5FC}.Verify|Any CPU.ActiveCfg = Verify|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Verify|Any CPU.ActiveCfg = Verify|Any CPU
+ {5F812210-5B61-4CBF-A033-4C33067A5DE9}.Verify|Any CPU.Build.0 = Verify|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/AutoFixture.TUnit/ArgumentsAutoDataAttribute.cs b/src/AutoFixture.TUnit/ArgumentsAutoDataAttribute.cs
new file mode 100644
index 0000000..57703a7
--- /dev/null
+++ b/src/AutoFixture.TUnit/ArgumentsAutoDataAttribute.cs
@@ -0,0 +1,54 @@
+using System.Diagnostics.CodeAnalysis;
+using AutoFixture.TUnit.Internal;
+
+namespace AutoFixture.TUnit
+{
+ ///
+ /// Provides a data source for a data theory, with the data coming from inline
+ /// values combined with auto-generated data specimens generated by AutoFixture.
+ ///
+ [CLSCompliant(false)]
+ [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes",
+ Justification = "This attribute is the root of a potential attribute hierarchy.")]
+ public class ArgumentsAutoDataAttribute : AutoFixtureDataSourceAttribute
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The data values to pass to the theory.
+ public ArgumentsAutoDataAttribute(params object[] values)
+ : this(() => new Fixture(), values)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The fixture factory.
+ /// The data values to pass to the theory.
+ ///
+ protected ArgumentsAutoDataAttribute(Func fixtureFactory, params object[] values)
+ {
+ this.FixtureFactory = fixtureFactory ?? throw new ArgumentNullException(nameof(fixtureFactory));
+ this.Values = values ?? new object[] { null };
+ }
+
+ ///
+ /// Gets the fixture factory.
+ ///
+ public Func FixtureFactory { get; }
+
+ ///
+ /// Gets the data values to pass to the theory.
+ ///
+ public object[] Values { get; }
+
+ ///
+ public override IEnumerable